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. =)
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.