Изменение цвета текста NSTextView в Интерфейсном Разработчике не будет работать - PullRequest
7 голосов
/ 04 сентября 2010

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

Я могу установить цвет программно перед каждой вставкой текста, но яВозможно, я что-то не так делаю, поскольку Interface Builder предлагает следующие параметры.

Вот как выглядит мой инспектор:

alt text

Ответы [ 2 ]

5 голосов

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

  1. (a) Добавить NSTextView (b) изменить цвет.Результат: не работает enter image description here

  2. (a) Добавьте NSTextView (b), затем измените текст (c), нажмите ввод, потому что произошел сбой, когда я не нажал ввод (d), затем изменилцвет.Результат: Работает enter image description here

Если свойство text NSTextView не задано в Интерфейсном Разработчике, кажется, что оно не сохраняет свойство цвета текста.Таким образом, приложение запускает выбор цвета по умолчанию при запуске.Однако другие свойства, такие как цвет фона и цвет вставки, сохраняются.Это заставляет меня думать, что это ошибка в конструкторе интерфейса.

В качестве обходного пути, вы можете оставить один пробел в текстовом поле и установить свой цвет в конструкторе интерфейса, но это может быть не выгодно для васв зависимости от того, что вы хотите сделать с NSTextView

1 голос
/ 17 июня 2015

Насколько я вижу - в appkit есть ошибка с (10.10), когда текст не инициализирован. Этот хак избавил меня от неприятностей.

NSTextView *tf = 
tf.delegate = self;

- (void)textDidChange:(NSNotification *)aNotification {
    NSLog(@"notificaiton:%@",aNotification);
    NSMTextView *tv = (NSMTextView *)[aNotification object];
    [tv setTextColor:[NSColor whiteColor]];
    [[tv textStorage] setFont:[NSFont systemFontOfSize:30]];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...