Se si utilizza realmente una UIToolbar (si noti la lettera "b" minuscola) e non una UINavigationBar, c'è un modo molto semplice per cambiare i pulsanti e fare in modo che la transizione svanisca automaticamente senza passare a Core Animation.
Se si utilizza Interface Builder, è necessario un riferimento alla barra degli strumenti nel codice. Creare una proprietà IBOutlet e collegare la barra degli strumenti ad esso in IB:
@property (nonatomic, retain) IBOutlet UIToolbar *toolbar;
Questo vi permetterà di fare riferimento al UIToolbar come self.toolbar. Quindi, creare i nuovi pulsanti e aggiungerli a un NSArray e trasmettere questo ai - [UIToolbar setItems: animato:] metodo come segue:
UIBarButtonItem *newItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(handleTap:)] autorelease];
NSArray *newButtons = [NSArray arrayWithObjects:newItem, nil];
[self.toolbar setItems:newButtons animated:YES];
trovato questo post, mentre googling - di nota: c'è un '[sé. navigationItem setLeftBarButtonItem: myBarButton animato: YES] 'metodo che ho usato per questo scopo. Grazie! – taber