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?

È stato utile?

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
scroll top