2011-01-21 11 views
14

Sto provando a creare un'applicazione Cocoa che sia piuttosto semplice. Ho tre finestre con tre messaggi su di esse, questo è tutto quello che c'è da fare. Quello che sto cercando di fare è questo:Semplice applicazione Cocoa con l'icona MenuBar. Come:?

L'utente esegue l'applicazione, l'icona dell'applicazione appare nella barra dei menu e questo è tutto ciò che accade, nessun menu e nessuna icona dock

Quindi, l'utente può cliccare l'icona MenuBar e avere un elenco a discesa e scegliere tra i tre messaggi disponibili.

so che è inutile, ma questo è letteralmente la mia prima applicazione e non riesco a capire come ottenere NSStatusItem per funzionare correttamente ...

Ho guardato intorno e ha trovato alcuni tutorial ma posso' sembra che seguano qualcuno di loro ... qualche aiuto?

risposta

18
  1. Per quanto riguarda il "no icona del dock" - aggiungere booleano LSUIElement voce alla info.plist del file e impostarlo su vero. Questo non mostrerà l'applicazione nell'interfaccia utente del commutatore di app (cmd + tab).
  2. Aggiunta di menu a barra delle icone è tanto quanto esaminando NSStatusBar e NSStatusItem documentazione e utilizzando il codice esempio ci:

.

// this one is taken from apple documentation 
- (void)activateStatusMenu { 
    NSStatusBar *bar = [NSStatusBar systemStatusBar]; 

    theItem = [bar statusItemWithLength:NSVariableStatusItemLength]; 
    [theItem retain]; 

    [theItem setTitle: NSLocalizedString(@"Tablet",@"")]; 
    [theItem setHighlightMode:YES]; 
    [theItem setMenu:theMenu]; 
} 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    [self activateStatusMenu]; 
} 

Aggiornamento Dal ARC non consente retain chiamate nel codice, sono riuscito a risolvere il problema creando theItem come __strong variabile della classe in cui è stato creato l'oggetto dell'istanza.

+1

Wow è grandioso. Io (come suggerisce il mio manico) sono un cacao intero newb e vengo da uno sfondo vb.net e sto lottando un po 'con la sintassi dell'obiettivo-c e cosa no. Tuttavia sto trovando che la documentazione del cacao della mela è molto più approfondita rispetto ai microsoft vb docs, che non sono molto "user friendly". La tua risposta ha aiutato un bel po 'e ti ringrazio per il tuo aiuto. – Zrb0529

Problemi correlati