我有一个NSTextView
内部 an NSView
(正在被 a 使用NSPopover
,不知道这是否相关),我正在尝试以编程方式自动调整大小(cf 标题)。
我一直在努力解决很多问题,即:
- 看着
NSLayoutManager
,usedRectForTextContainer
这给了我异常的尺寸值(usedRectForTextContainer : {{0, 0}, {0.001, 28}}
) - 修改
NSScrollView frame
,[NSScrollView contentView]
,[NSScrollView documentView]
- 摆脱自动布局
我达到了可以调整 scollview 和 Popover 大小的地步,但我无法获得 NSTextView 内文本的实际高度。
任何形式的帮助将不胜感激。
-(void)resize
{
//Get clipView and scrollView
NSClipView* clip = [popoverTextView superview];
NSScrollView* scroll = [clip superview];
//First, have an extra long contentSize and ScrollView to test everything else
[popover setContentSize:NSMakeSize([popover contentSize].width, 200)];
[scroll setFrame:(NSRect){
[scroll frame].origin.x,[scroll frame].origin.y,
[scroll frame].size.width,155
}];
NSLayoutManager* layout = [popoverTextView layoutManager];
NSTextContainer* container = [popoverTextView textContainer];
NSRect myRect = [layout usedRectForTextContainer:container]; //Broken
//Now what ?
}