2013-04-16 1 views
1

Я добавляю заполнитель к NSTextField:Странное поведение С NSTextField и NSAttributedString Заполнитель

NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0.0, 0.0, 100.0, 30.0)]; 
NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"Hello, World"]; 
[textField.cell setPlaceholderAttributedString:string]; 

Это работает, но когда я сосредотачиваюсь на текстовое поле, заполнитель исчезает, даже когда stringValue пуст.

Если я установил заполнитель с помощью только метода setPlaceholderString:, то заполнитель остается до тех пор, пока stringValue не будет пустым.

Это просто плохое поведение на стороне AppKit или я чего-то не хватает?

Вышеприведенный пример. Я использую атрибутированную строку, поэтому я могу установить атрибуты шрифта и цвета.

+0

Кажется, это просто ошибка. Да! –

+0

Вы могли найти решение или поработать вокруг? –

+0

Нет, вам либо придется мириться с цветом по умолчанию заполнителя, либо вручную написать свой собственный. –

ответ

0

Возможно ли, что вы указали привязку для элемента управления? Если «да», ваша строка, привязанная к заполнителю, будет перезаписана нулевым заполнителем привязки.

Должна быть возможность затем связать элемент управления программным способа и указать приписываемую строку в качестве опции для нулевого заполнителя, как это:

[textField bind:@"value" toObject:self withKeyPath:@"textFieldValue" options: @{NSNullPlaceholderBindingOption:string}]; 

Еще одна вещи. Я узнал, что он будет работать с 10,9 SDK.