NSTextField / NSSearchField当焦点在字段上时删除的默认值

时间:2011-12-05 19:51:47

标签: objective-c macos cocoa nstextfield nssearchfield

我希望NSTextField(或NSSearchField)具有默认值,并在用户点击它时删除此默认值,并在文本视图失去焦点时将其设置为文本字段为空。像这样:

http://imgur.com/T03vE

听起来我应该扩展NSSearchField,但我想知道是否有更简单的解决方案。

2 个答案:

答案 0 :(得分:13)

此功能实际上是内置的;没有必要继承或扩展NSSearchField

那是该字段的placeholder string。您可以在IB中或通过拨打setPlaceholderString:进行设置。请注意,这是NSTextFieldCell的方法。 NSTextField是其单元格的“公共面孔”,并且涵盖了几乎所有单元格功能的方法。但是,在这种情况下,您需要将消息直接发送到单元格:

[[field cell] setPlaceholderString:@"Jumbo jets"];

由于NSSearchFieldNSSearchFieldCell分别从NSTextFieldNSTextFieldCell继承,因此对他们来说过程相同。

答案 1 :(得分:2)

使用

在NSTextFields的NSTextFieldCell上设置占位符字符串

[[textField cell] setPlaceholderString:@"String Matching"];