現在の幅に応じて、テキスト フィールド/ビューのサイズを自動的に変更しようとしています。言い換えれば、幅を一定に保ちたいのですが、指定されたテキストに従って高さのサイズを変更します。
動作しているように見えますが、手動でウィンドウを元に戻そうとしても、何らかの理由でウィンドウの下部に位置合わせされています。ここで私が間違っていることを誰かが見ることができますか?
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 は自動的に境界/フレームのサイズを変更しますか?