Значение по умолчанию NSTextField / NSSearchField, которое удаляется, когда фокус находится на поле - PullRequest
2 голосов
/ 05 декабря 2011

Я хотел бы иметь значение по умолчанию для NSTextField (или NSSearchField) и удалить это значение по умолчанию, когда пользователь нажимает на него, и установить обратно, когда текстовое представление теряет фокус, а текстовое поле пусто.,Вот так:

http://imgur.com/T03vE

Звучит так, как будто я должен расширить NSSearchField, но мне было интересно, есть ли более простое решение.

Ответы [ 2 ]

13 голосов
/ 06 декабря 2011

Эта функциональность фактически встроена; нет необходимости создавать подкласс или иным образом расширять NSSearchField.

Это строка заполнителя . Вы можете установить его либо в IB, либо по телефону setPlaceholderString:. Обратите внимание, что это метод NSTextFieldCell. NSTextField является «публичным лицом» своей ячейки и имеет методы покрытия почти для всех функций ячейки. Однако в этом случае вам необходимо отправить сообщение непосредственно в ячейку:

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

Поскольку NSSearchField и NSSearchFieldCell наследуются от NSTextField и NSTextFieldCell, соответственно, процесс для них одинаков.

2 голосов
/ 06 декабря 2011

Установите строку заполнителя в NSTextFieldCell NSTextFields, используя

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

...