2009-05-23 16 views

答えて

0

NSCell-setAttributedStringValue:の方法はどうですか? キーに設定したい色を持つNSAttributedStringを作成してください。あなたはうまくいくはずです。

+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

関連する問題