Ответ 1
Вы пробовали установить заполнитель через код? например, что-то вроде этого:
[[textField cell] setPlaceholderString:@"hello"];
Я устанавливаю текст-заполнитель моего NSTextField в Interface Builder, но текст-заполнитель не отображается, пока я не щелкнул внутри текстового поля, чтобы отредактировать его. У кого-нибудь еще такая проблема?
Спасибо
EDIT: Скриншоты. Вот как выглядит поле, когда я его не редактирую:
Не редактировать http://cl.ly/2a0R1h1p2A082g1t1b3q/Screen_Shot_2011-04-01_at_6.51.25_PM.png
И вот как это выглядит, когда я его редактирую:
Редактирование http://cl.ly/1c2d1U233R3j3k0M2E2Q/Screen_Shot_2011-04-01_at_6.51.32_PM.png
Вы пробовали установить заполнитель через код? например, что-то вроде этого:
[[textField cell] setPlaceholderString:@"hello"];
Связали ли вы данные NSTextField в Interface Builder? Если это так, вы должны установить "Множитель с несколькими значениями", "Нет селекционера" и "Null Placeholder" на вкладке "Связи" в вашем инспекторе "Утилиты". Пока вы на нем, вы также можете установить "No Applicable Placeholder".
Вот как я решаю эту проблему:
NSTextFieldCell
;- (void)drawWithFrame:(NSRect)cellFrame
, - (void)drawInteriorWithFrame:
(если требуется) метод NSCell
и поместить весь код чертежа в эти методы. Не забудьте вызвать super
реализацию;Class
поле NSTextFieldCell
в Interface Builder
в ваш подкласс;border
в .xib
файл на Draw Background
;