3

私は NSTextField を持っていますが、表示する必要があるコンテンツは固定されておらず、動的に成長します。サイズを動的に変更できる簡単な方法はありますか。前もって感謝します :)

4

3 に答える 3

0

テキスト フィールドに入力するのではなく、コンテンツを表示するだけの場合は、ラベルを使用する必要があります。ラベルは IB で「コンテンツに合わせたサイズ」に設定できます。これにより、ラベルがコンテンツに対して十分な大きさになります。

于 2012-11-16T23:21:48.437 に答える
0

Interface Builder で設定するオプションはありません。

ただし、コードを使用して実行できます。実装する NSTextField にデリゲートを設定できます。

- (void)controlTextDidChange:(NSNotification *)aNotification;

デリゲートが呼び出されるたびに、上記のアイデアに従ってコントロールのサイズを変更します。

また、これ。

Jerry Krinock による NSString/NSAttributedString には、幅に基づいてテキストの高さを計算できる優れたカテゴリがあり、その逆も可能です。

http://www.sheepsystems.com/sourceCode/sourceStringGeometrics.html

2016年3月編集

テキストフィールドや NSWindow のサイズを増減するのに役立つ Mac OS アプリケーション用の Autolayout 機能があるため、非常に簡単に使用できます。ウィンドウの両側から制約を設定し、制約を ( >= desiredMinimumSize ) のように設定するだけで完了です!

于 2012-11-15T06:23:23.987 に答える