2009-06-23 2 views
2

У меня есть поле таймера обратного отсчета, которое отображает 60 в качестве заполнителя (серый). Когда я запускаю таймер, он становится черным и начинает отсчет. В конце я отменил таймер и установил обратный отсчет времени на 60. Конечно, теперь он черный. Как получить его обратно в текст заполнителя 60 (что означает, что он серый), не прибегая к хакеру, используя NSAttributedString?Показать PlaceHolder Text

ответ

6

Установка текста TextField в ноль или пустую строку @ "". приведет к отображению текста заполнителя.

+0

Это была моя оригинальная мысль, тоже, но это не сработало – Walker

+0

Weird, в соответствии с 10.5 Документах PlaceHolder строки, устанавливается с помощью setPlaceholderString: или setPlaceholderAttributedString :, теперь появляются в ячейке текстового поля, если фактическая строка nil или @ "". Они нарисованы серым цветом на ячейке и не архивируются в формате «pre-10.2». – Erik

+0

Walker Argendeli: Какой код вы использовали для этого? –

10

Если вы используете привязку «значение» на NSTextField, вам нужно будет установить Null Placeholder для привязки вместо того, чтобы заполнить текстовую ячейку. Пустая строка (@ ""), по-видимому, считается нулевым значением для целей заполнителя.

+0

Не могли бы вы добавить некоторые детали, пожалуйста. – Lexandr

+0

Вы настраиваете привязки через Interface Builder? Если да, то что конкретно неясно? – natevw

+0

Да, привязка «значение» в IB. Заполнитель для «NSTextFieldCell» отображается, когда текст имеет нулевую или пустую строку. Значение, взятое из связанного с недвижимостью, является 'nil'. Итак, зачем нам «устанавливать Null Placeholder для привязки вместо того, чтобы заполнить текстовую ячейку»? Почему заполнитель просто не работает? Есть ли где-нибудь документально? Благодарю. – Lexandr

Смежные вопросы