2009-07-11 11 views

risposta

6

Una volta costruito, un "Identificatore" di UIBarButtonItem non può essere modificato. Tuttavia, l'interfaccia utente può essere cambiata sostituendo il pulsante con una variante costruita a livello di programmazione. Per esempio:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                      target:self 
                      action:@selector(doAddAction:)]; 
+10

Il tuo titolo per questo post è fuorviante. Questo non modifica l'identificatore di un UIBarButtonItem, ne crea solo uno nuovo con la proprietà identificatore inizializzata. Sto cercando un modo per modificare l'identificatore su un pulsante esistente. Un titolo migliore sarebbe "Impostazione della proprietà identificatore di un UIBarButtonItem appena creato" o qualcosa di simile. – Senseful

+2

Mi dispiace che tu abbia inciampato nella mia soluzione e non ha soddisfatto le tue aspettative. Al punto di fare la domanda stavo cercando un modo per, in effetti, cambiarlo. La soluzione ha funzionato per me, se non fosse stato per te, mi dispiace. – rein

2

Se si desidera uno stile di pulsante: delimitato e identificativo: fotocamera uso

UIBarButtonItem *btn; 
btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shotAction:)]; 
btn.style=UIBarButtonItemStyleBordered; 
0

Una volta che l'UIBarButtonItem è stato creato, non c'è modo di cambiare l'identificatore. Tuttavia, puoi creare un nuovo UIBarButtonItem per sostituire il vecchio UIBarButtonItem

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                   target:self 
                   action:@selector(buttonClickedAction:)]; 

self.navigationItem.rightBarButtonItem = barButton; 
Problemi correlati