【发布时间】:2012-10-03 09:13:50
【问题描述】:
我希望 NSTextField 在用户键入时变大,在按下退格键等时变小。
我发现的唯一内容是 [textField sizeToFit],但它不会动态运行,它只是调整大小的一种方式。有什么属性或我需要设置的东西吗?
附言我只需要它水平调整大小(单行文本)。
【问题讨论】:
标签: cocoa resize nstextfield
我希望 NSTextField 在用户键入时变大,在按下退格键等时变小。
我发现的唯一内容是 [textField sizeToFit],但它不会动态运行,它只是调整大小的一种方式。有什么属性或我需要设置的东西吗?
附言我只需要它水平调整大小(单行文本)。
【问题讨论】:
标签: cocoa resize nstextfield
Richard 所说的,除了你需要知道调整文本字段的大小。要获取此值,请使用 NSTextField 的布局管理器并在其上调用类似 boundingRectForGlyphRange:inTextContainer: 的内容,其中包含所有字形。这应该告诉您包围所有文本的矩形的尺寸。获取这些尺寸并将它们设置为 NSTextField 内容的宽度和高度。
【讨论】:
在实现的 NSTextField 上设置一个委托
- (void)controlTextDidChange:(NSNotification *)aNotification
每次调用委托时,根据您上面的想法调整控件的大小。
【讨论】: