2

我想为 a NSTextField( 或NSSearchField) 设置一个默认值,并在用户单击它时删除此默认值,并在文本视图失去焦点且文本字段为空时重新设置。像这样:

http://imgur.com/T03vE

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

4

2 回答 2

13

这个功能实际上是内置的;无需子类化或以其他方式扩展NSSearchField.

那是字段的占位符 string。您可以在 IB 中设置它,也可以通过调用setPlaceholderString:. 请注意,这是 的一种方法NSTextFieldCell。AnNSTextField是其单元的“公众面孔”,并且具有几乎所有单元功能的覆盖方法。但是,在这种情况下,您需要将消息直接发送到单元格:

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

因为NSSearchField和分别NSSearchFieldCell继承自NSTextFieldNSTextFieldCell,所以过程对它们来说是相同的。

于 2011-12-05T20:03:50.783 回答
2

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

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

于 2011-12-05T20:05:45.127 回答