Как настроить контекстное меню NSToolbar?
Мне нужно удалить некоторые элементы из контекстного меню, вызываемого правой кнопкой мыши, но панель инструментов не содержит общедоступного API для доступа к "toolbarView".
Можно ли настроить меню без использования частного API?
1 ответ
Решение
Вы можете получить доступ и изменить контекстное меню панели инструментов при создании панели инструментов, т.е. -[awakeFromNib]
:
- (NSMenu *)toolbarMenuInWindow:(NSWindow *)window
{
NSView *contentView = window.contentView;
NSView *toolbarView = contentView.superview.subviews.lastObject;
NSMenu *toolbarMenu = toolbarView.menu;
return toolbarMenu;
}
Теперь вы можете напрямую редактировать пункты меню и скрывать или отключать их.