我需要从右键单击上下文菜单中删除一些项目,但工具栏中不包含访问“toolbarView”的公共API。
是否可以在不使用私有API的情况下自定义菜单?
答案 0 :(得分:1)
您可以在创建工具栏时访问和修改工具栏上下文菜单,即-[awakeFromNib]
:
- (NSMenu *)toolbarMenuInWindow:(NSWindow *)window
{
NSView *contentView = window.contentView;
NSView *toolbarView = contentView.superview.subviews.lastObject;
NSMenu *toolbarMenu = toolbarView.menu;
return toolbarMenu;
}
现在您可以直接编辑菜单项并隐藏或禁用它们。