突出显示 NSToolbarItems

发布于 2024-07-13 17:35:16 字数 305 浏览 10 评论 0原文

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

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

有简单的方法吗? 如果没有,请告诉我最困难的一件事。 =)

I want to highlight the selected NSToolbarItem like e.g. in Adium (see screenshot).

highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png

Is there an easy way? If not, tell me the difficult one. =)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

惜醉颜 2024-07-20 17:35:16

为了扩展 Chuck 的答案,您只需使控制器成为 NSToolBar 的委托并在其中实现toolbarSelectableItemIdentifiers: delegate 方法。 例如,以下实现将允许您保留除标记为“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 数组缓存在实例变量中,以便我只需执行以下操作:数组构建一次。

To expand upon Chuck's answer, you simply need to make your controller the delegate of your NSToolBar and implement the toolbarSelectableItemIdentifiers: delegate method in it. For example, the following implementation will let you retain the selection highlight on every toolbar item except for the one labeled "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];
}

I cache the allIdentifiers array in an instance variable when I do something like this, so that I only have to do the array construction once.

·深蓝 2024-07-20 17:35:16

如果您在 Interface Builder 中创建了工具栏,则可以单击各个 NSToolbarItems 并在检查器中选中您想要具有该外观的选项的可选框。 无需代码。

If you made your toolbar in Interface Builder, you can click on the individual NSToolbarItems and check the Selectable box in the Inspector for the ones you want to have that look. No code needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文