Текст местозаполнителя NSTextField не отображается, если только он не редактируется. - PullRequest
16 голосов
/ 02 апреля 2011

Я устанавливаю текст заполнителя для моего NSTextField в Интерфейсном Разработчике, но текст заполнителя не отображается, пока я не щелкну внутри текстового поля, чтобы отредактировать его.Кто-нибудь еще с этой проблемой?

Спасибо

РЕДАКТИРОВАТЬ: Скриншоты.Вот как выглядит поле, когда я его не редактирую:

Не редактирую 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

Ответы [ 3 ]

28 голосов
/ 02 апреля 2011

Вы пытались установить заполнитель с помощью кода? например что-то вроде этого:

    [[textField cell] setPlaceholderString:@"hello"];
19 голосов
/ 29 октября 2011

Связали ли вы данные NSTextField в Интерфейсном Разработчике?Если это так, вы должны установить «Заполнитель нескольких значений», «Заполнитель без выбора» и «Пустой заполнитель» на вкладке привязок в инспекторе утилит.Пока вы это делаете, вы также можете установить «Запрещенный заполнитель».

0 голосов
/ 28 августа 2013

Вот как я решаю эту проблему:

  1. Подкласс NSTextFieldCell;
  2. Переопределить - (void)drawWithFrame:(NSRect)cellFrame, - (void)drawInteriorWithFrame: (при необходимости) метод (ы) NSCell и поместите весь необходимый код для рисования в эти методы. Не забудьте вызвать реализацию super;
  3. Установить Class поле NSTextFieldCell в Interface Builder для вашего подкласса;
  4. Настройка border в .xib файле на border (я не знаю названия этой границы);
  5. Отключение Draw Background;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...