我正在尝试更新NSTextField的高度w.r.t字符串的长度,但如果字符串很亮,则最后一部分会被切断。这是我的代码。
self.solutionTextView.frame = CGRectMake(self.solutionTextView.frame.origin.x, self.solutionTextView.frame.origin.y, self.solutionTextView.frame.size.width + 25 ,self.solutionTextView.frame.size.height + 25);
//self.solutionTextView.sizeToFit()
我做错了什么?
答案 0 :(得分:3)
如果允许NSTextField包装字符串,则以下步骤是确定字段所需高度的标准(或通常的?或更多可能的?)方法。假设字段的宽度给出:
NSRect frame = [textField frame];
现在把它做得很高:
NSRect constraintBounds = frame;
constraintBounds.size.height = 10000.0;
[textField setFrame: constraintBounds];
并设置字符串:
[textField setStringValue:theString];
现在询问自然尺寸:
NSSize naturalSize =
[[textField cell] cellSizeForBounds:constraintBounds];
你完成了:
frame.size = naturalSize;
[textField setFrame:frame];