如何自定义NSToolbar的上下文菜单?

时间:2011-12-07 09:35:41

标签: macos cocoa nstoolbar

我需要从右键单击上下文菜单中删除一些项目,但工具栏中不包含访问“toolbarView”的公共API。

是否可以在不使用私有API的情况下自定义菜单?

1 个答案:

答案 0 :(得分:1)

您可以在创建工具栏时访问和修改工具栏上下文菜单,即-[awakeFromNib]

- (NSMenu *)toolbarMenuInWindow:(NSWindow *)window
{
    NSView *contentView = window.contentView;
    NSView *toolbarView = contentView.superview.subviews.lastObject;
    NSMenu *toolbarMenu = toolbarView.menu;
    return toolbarMenu;
}

现在您可以直接编辑菜单项并隐藏或禁用它们。