我想突出顯示選定的NSToolbarItem
,例如,在Adium中(見截圖)。Highlight NSToolbarItems
highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
有一個簡單的方法是什麼?如果沒有,告訴我困難的一個。 =)
我想突出顯示選定的NSToolbarItem
,例如,在Adium中(見截圖)。Highlight NSToolbarItems
highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
有一個簡單的方法是什麼?如果沒有,告訴我困難的一個。 =)
爲了擴大查克的答案,你只需要讓你的控制器成爲你的NSToolBar的委託並在其中實現toolbarSelectableItemIdentifiers:委託方法。例如,下面的實施將讓你留住每個工具欄項目選擇的亮點除了一個標有「檢查」:
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init];
for (NSToolbarItem *toolbarItem in [toolbar items])
{
if (![[toolbarItem label] isEqualToString:@"Inspect"])
[allIdentifiers addObject:[toolbarItem itemIdentifier]];
}
return [allIdentifiers autorelease];
}
我緩存在一個實例變量的allIdentifiers陣列時,我做這樣的事情,所以我只需要做一次陣列構建。
請參閱Cocoa文檔中的Selectable Toolbar Items。
如果您在界面構建器中創建了工具欄,則可以單擊各個NSToolbarItems並在Inspector中選中要選擇該選項的可選框。無需代碼。
在Xcode 4的界面生成器中,當您點擊可選擇的工具欄項目時,現在會出現一個複選框,但檢查它似乎什麼也不做。有任何想法嗎? – Tony 2012-01-31 22:34:03
@Tony - 剛剛在Interface Builder中嘗試了這個功能,即使沒有上面的代碼,它也能正常工作。不知道爲什麼它不適合你的情況。 – 2012-02-10 22:15:35