Domanda

Ho un app di cacao con le finestre di due tipi, ciascuno dei quali richiede un diverso menu principale da visualizzare.

Nel mio MainMenu.xib ho il difetto MainMenu. In Window1.xib ho Window1 e Window2.xib ho Window2 ed è MainMenu.

Quando ho la prima finestra aperta ho il menu di default, quando apro Window2 ottengo suo menu.

Tuttavia, quando ho tornare a Window1 Vedo ancora il menu di Window2. Come faccio a fare il menu che viene visualizzato seguire la finestra chiave?

È stato utile?

Soluzione

NSApplication ha un metodo, - (void)setMainMenu:(NSMenu *)aMenu. È possibile passare un riferimento al menu corretta nel controllore finestra appropriata, attuando - (void)windowDidBecomeKey:(NSNotification *)notification.

Tenete a mente può essere più facile cambiare solo i sottomenu, invece di scambiare l'intero menu principale, dal momento che non sarà necessario mantenere due diverse copie della domanda, aiutare, e altri menu che non cambierà tra le due finestre.

Altri suggerimenti

In generale, non si deve sostituire l'intero menu principale ogni volta. E 'più conforme alle Human Interface Guidelines per disabilitare semplicemente eventuali voci di menu che non si applicano alla finestra corrente. E se davvero dovrebbe avere una serie completamente diversa di menu nella barra dei menu, forse si dovrebbe dividere quella parte della vostra applicazione in un'applicazione separata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top