Domanda

Voglio evidenziare l'NSToolbarItem selezionato come esempio in Adium (vedi screenshot).

evidenziare http://a2.s3.p.quickshareit.com/ file / screenshot_b28b67ba9411513d6.png

C'è un modo semplice? In caso contrario, mi dica quello difficile. =)

È stato utile?

Soluzione

Per espandere su risposta di Chuck, è sufficiente per rendere il controller il delegato del vostro NSToolBar e implementare le toolbarSelectableItemIdentifiers: metodo delegato in esso. Ad esempio, la seguente implementazione vi permetterà di mantenere l'evidenziazione di selezione su ogni articolo barra degli strumenti ad eccezione di quello con l'etichetta "Controllare":

- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
    NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init];

    for (NSToolbarItem *toolbarItem in [toolbar items])
    {
        if (![[toolbarItem label] isEqualToString:@"Inspect"])
            [allIdentifiers addObject:[toolbarItem itemIdentifier]];
    }

    return [allIdentifiers autorelease];
}

I memorizzare nella cache l'array allIdentifiers in una variabile di istanza quando faccio qualcosa di simile, in modo da avere a che fare solo la costruzione di matrice una volta.

Altri suggerimenti

Se avete fatto la vostra barra degli strumenti in Interface Builder, è possibile fare clic sulle singole NSToolbarItems e selezionare la casella selezionabile nella finestra di ispezione per quelli che si desidera avere quello sguardo. Nessun codice necessario.

Vedere selezionabile Toolbar Elementi nella documentazione di cacao.

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