我正在尝试根据当前宽度自动调整文本字段/视图的大小。换句话说,我希望宽度保持不变,但根据提供给它的文本调整高度。
它似乎正在工作,但由于某种原因,它与我的窗口底部对齐,尽管努力手动将其移回。谁能看到我在这里做错了什么?
NSString *temp = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer vel felis nec massa ultricies blandit non id arcu. Sed enim est, facilisis a feugiat in, consectetur eget arcu. Aenean rutrum, lacus id euismod congue, nisl erat vulputate lectus, non faucibus tortor purus sed sem. Donec tempor dui egestas velit auctor vitae faucibus diam facilisis. Morbi convallis nulla quis est pulvinar quis ultricies sem sollicitudin.";
myText.stringValue = temp;
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSFont systemFontOfSize:12], NSFontAttributeName,
[NSParagraphStyle defaultParagraphStyle], NSParagraphStyleAttributeName,
nil];
NSSize size = NSMakeSize(window.frame.size.width, 200);
myText.frame = [temp boundingRectWithSize:size options:NSLineBreakByWordWrapping | NSStringDrawingUsesLineFragmentOrigin attributes:attributes];
编辑:即使手动移动框架,很明显文本仍然被截断。新调整的尺寸并不完全在那里。
这是参考: NSString boundingRectWithSize 稍微低估了正确的宽度 - 为什么? 和 NSTextView 或 NSTextField 自动调整边界/框架的大小?