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

标签 macos cocoa nstoolbar

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

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

最佳答案

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

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

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

关于macos - 如何自定义NSToolbar的上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8413111/

相关文章:

objective-c - 如何仅更改 NSTextView 中整个样式文本的字体大小

macos - 避免 Mac OS 上的 SSH 超时?

macos - Python basemap 导入错误: "requirement already satisfied"

cocoa - 获取 NSView 的中心点

objective-c - 在子类中使用 IBOutlet (Cocoa OSX)

swift - 有没有办法将 NSToolbarButton 与 MainViewController 连接起来?

swift - 获取 NSToolbar 的特定项目

macos - 如何将两个触摸工具栏项添加到 NSToolbar

cocoa - 删除控件在我的 Cocoa 用户界面中位于哪里?

linux - 拒绝连接到本地主机上的虚拟主机