Come personalizzare il menu contestuale di NSToolbar?
Domanda
Devo rimuovere alcuni elementi dal menu contestuale del tasto destro, ma la barra degli strumenti non contiene un'API pubblica per accedere a "toolbarView".
È possibile personalizzare il menu senza utilizzare API private?
Soluzione
È possibile accedere e modificare un menu contestuale della barra degli strumenti quando viene creata la barra degli strumenti, ad esempio in -[awakeFromNib]
:
- (NSMenu *)toolbarMenuInWindow:(NSWindow *)window
{
NSView *contentView = window.contentView;
NSView *toolbarView = contentView.superview.subviews.lastObject;
NSMenu *toolbarMenu = toolbarView.menu;
return toolbarMenu;
}
Ora puoi modificare direttamente le voci di menu e nasconderle o disabilitarle.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow