プログラムで作成しようとしていNSTextField
ます。
これを自動レイアウトで使用したいNSTextField
ので、その幅は行全体を表示するように自動的に定義されます (テキストは 1 行のみです)。
問題は、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
プロパティに意味のある値を取得して、テキスト フィールドの内容を反映するにはどうすればよいですか?