2009-05-23 2 views

ответ

0

Как насчет использования метода NSCell-setAttributedStringValue:? Просто создайте NSAttributedString, у которого есть цвет, который вы хотите установить для ключа NSForegroundColorAttributeName, и вам должно быть хорошо идти.

+0

Это изменит цвет текущего отображаемого текста. Я хочу установить другой цвет, а затем черный для строк в списке всплывающих меню, которое появляется, когда вы нажимаете треугольники. Я хочу выделить некоторые значения в списке. В моем случае использования я хочу выделить рекомендуемые значения, которые пользователь должен выбрать из всплывающего списка. – cocoafan

1

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

NSMenu *menu = [popUpButton menu]; 
NSMenuItem *item = [menu itemWithTag:100]; 
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSColor redColor], NSForegroundColorAttributeName, nil]; 
NSAttributedString *string = [[NSAttributedString alloc] initWithString:[item title] attributes:attributes]; 

[item setAttributedTitle:string]; 

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

+2

Благодарим вас за ответ. К сожалению, у NSComboBox нет меню. В NSPopUpButton есть меню. На самом деле я использую только NSComboBoxCell в NSTableView. – cocoafan

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