我想突出显示所选内容NSToolbarItem
,例如Adium(见截图).
重点介绍http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
有一个简单的方法吗?如果没有,告诉我困难的一个.=)
要扩展Chuck的答案,您只需要将控制器作为NSToolBar的委托,并在其中实现toolbarSelectableItemIdentifiers:委托方法.例如,以下实现将允许您保留每个工具栏项目上的选择突出显示,但标记为"Inspect"的项目除外:
- (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数组缓存在一个实例变量中,这样我只需要进行一次数组构造.
如果在Interface Builder中创建了工具栏,则可以单击各个NSToolbarItems并选中Inspector中的Selectable框,以查看要查看的那些框.无需代码.
请参阅Cocoa文档中的可选工具栏项.