8

我想突出显示选定的内容NSToolbarItem,例如在 Adium 中(见屏幕截图)。

突出显示 http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png

有没有简单的方法?如果没有,请告诉我困难的那个。=)

4

3 回答 3

14

要扩展 Chuck 的答案,您只需将控制器设为 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 数组缓存在一个实例变量中,这样我只需要做一次数组构造。

于 2009-02-19T19:52:22.977 回答
10

如果您在 Interface Builder 中制作了工具栏,则可以单击各个 NSToolbarItems 并检查 Inspector 中的 Selectable 框以获取您想要的外观。无需代码。

于 2010-07-07T06:39:27.453 回答
6

请参阅Cocoa 文档中的可选工具栏项

于 2009-02-19T19:37:40.550 回答