2009-05-23 82 views

回答

0

如何使用NSCell-setAttributedStringValue:方法?只需創建一個NSAttributedString,其中包含您想爲NSForegroundColorAttributeName鍵設置的顏色,您應該很樂意去。

+0

這會改變當前顯示文本的顏色。我想在點擊三角形時出現的彈出式菜單列表中設置不同的顏色,然後將其設置爲黑色。我想突出顯示列表中的一些值。在我的用例中,我想突出顯示用戶應該從彈出列表中選擇的建議值。 – cocoafan 2009-05-23 09:47:22

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有一個菜單。其實我只在NSTableView中使用NSComboBoxCell。 – cocoafan 2009-05-24 13:27:30

相關問題