我正在尝试以NSTextField
编程方式创建一个。
我想将此NSTextField
与自动布局一起使用,因此将自动定义其宽度以显示整行(只有一行文本)。
问题是textField.intrinsicContentSize
和textField.fittingSize
的水平坐标都有 -1 和 0 值,因为下面代码的输出是:
textField.intrinsicContentSize={-1, 21}
textField.fittingSize={0, 21}
编码:
NSTextField* textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 10, 24)];
NSString* str = @"One line of text here.";
[textField setStringValue: str];
[textField setTranslatesAutoresizingMaskIntoConstraints:NO];
[textField invalidateIntrinsicContentSize];
NSLog(@"textField.intrinsicContentSize=%@", NSStringFromSize(textField.intrinsicContentSize));
NSLog(@"textField.fittingSize=%@", NSStringFromSize(textField.fittingSize));
这使得文本字段具有由自动布局分配的零宽度。
fittingSize
我应该怎么做才能为文本字段的和属性获取有意义的值,intrinsicContentSize
以便它们反映文本字段的内容?