我希望NSTextField
(或NSSearchField
)具有默认值,并在用户点击它时删除此默认值,并在文本视图失去焦点时将其设置为文本字段为空。像这样:
听起来我应该扩展NSSearchField
,但我想知道是否有更简单的解决方案。
答案 0 :(得分:13)
此功能实际上是内置的;没有必要继承或扩展NSSearchField
。
那是该字段的placeholder string。您可以在IB中或通过拨打setPlaceholderString:
进行设置。请注意,这是NSTextFieldCell
的方法。 NSTextField
是其单元格的“公共面孔”,并且涵盖了几乎所有单元格功能的方法。但是,在这种情况下,您需要将消息直接发送到单元格:
[[field cell] setPlaceholderString:@"Jumbo jets"];
由于NSSearchField
和NSSearchFieldCell
分别从NSTextField
和NSTextFieldCell
继承,因此对他们来说过程相同。
答案 1 :(得分:2)
使用
在NSTextFields的NSTextFieldCell上设置占位符字符串 [[textField cell] setPlaceholderString:@"String Matching"];