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

LG0*_*G01 2 macos cocoa objective-c nstextfield nssearchfield

我希望有一个NSTextField(或NSSearchField)的默认值,并在用户单击它时删除此默认值,并在文本视图失去焦点并且文本字段为空时进行设置.像这样:

http://imgur.com/T03vE

这听起来像我应该扩展,NSSearchField但我想知道是否有一个更容易的解决方案.

Jos*_*ell 13

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

那是该字段的占位符字符串.您可以在IB中或通过调用来设置它setPlaceholderString:.请注意,这是一种方法NSTextFieldCell.An NSTextField是其细胞的"公共面孔",并且涵盖了几乎所有细胞功能的方法.但是,在这种情况下,您需要将消息直接发送到单元格:

[[field cell] setPlaceholderString:@"Jumbo jets"];
Run Code Online (Sandbox Code Playgroud)

由于NSSearchFieldNSSearchFieldCell继承,NSTextField并且NSTextFieldCell过程分别对他们来说是相同的.