2010-08-18 16 views
9

Desidero aggiungere un menu a discesa in una delle voci nell'elemento NSMenu. (ad esempio se si fa clic sull'indicatore Batteria sulla barra del Finder, ha un'opzione per Mostra-> Icona, Ora, Percentuale). Ora aggiungere un MenuItem utilizzando il seguente codice:aggiunta voce NSSubmenu in NSMenuItem

  menuItem = [menu addItemWithTitle:@"Start" 
     action:@selector(start:) keyEquivalent:@""]; 
     [menuItem setTarget:self]; 

Come si aggiunge un sottomenu Voce con questo elenco a discesa? Grazie.

risposta

-2

Funzionante. Creato un NSPopuButton con i contenuti di un array e poi li usa qui.

[menu setSubmenu:[(NSPopupButton *array) menu] forItem:menuItem]; 
+4

1. Questo non è sintassi valida. 2. Perché hai chiamato il tuo pulsante "array" a comparsa? E perché lo stai lanciando? 3. Probabilmente non dovresti mettere lo stesso menu in due posti diversi. Crea una copia del menu del pulsante a comparsa e usalo come sottomenu. Oppure, se non stai effettivamente utilizzando il pulsante a comparsa, perché ne stai creando uno? –

18

Ecco come posso aggiungere un sottomenu a un elemento NSMenu:

NSMenuItem *mainItem = [[NSMenuItem alloc] init]; 
[mainItem setTitle:@"Main item"]; 

NSMenu *submenu = [[NSMenu alloc] init]; 
[submenu addItemWithTitle:@"Sub item" action:nil keyEquivalent:@""]; 

[mainItem setSubmenu:submenu]; 
Problemi correlati