如何动态调整NSTextField的大小?

时间:2012-10-03 09:13:51

标签: cocoa resize nstextfield

我希望NSTextField在用户输入时变得更大,在按下退格键时变小。

我发现的唯一的东西是[textField sizeToFit],但这不是动态运行的,只是一次性调整大小。是否有需要设置的财产?

P.S。我只需要它来水平调整大小(单行文本)。

2 个答案:

答案 0 :(得分:1)

理查德所说的,除了你需要知道调整文本域的大小。要获取此值,请使用NSTextField的布局管理器,并使用一系列所有字形调用boundingRectForGlyphRange:inTextContainer:on。这应该告诉您绑定所有文本的矩形的尺寸。获取这些尺寸并将其设置为NSTextField内容的宽度和高度。

答案 1 :(得分:0)

在实现

的NSTextField上设置委托
- (void)controlTextDidChange:(NSNotification *)aNotification

每次调用委托时,都会按照上面的想法调整控件的大小。