Si realmente está utilizando una UIToolbar (tenga en cuenta la minúscula "b") y no una UINavigationBar, hay una manera muy fácil de cambiar los botones y hacer que la transición se desvanezca automáticamente sin caer en Core Animation.
Si está utilizando Interface Builder, necesitará una referencia a la barra de herramientas en su código. Crear una propiedad IBOutlet y vincular la barra de herramientas para que en IB:
@property (nonatomic, retain) IBOutlet UIToolbar *toolbar;
Esto le permitirá hacer referencia a la UIToolbar como self.toolbar. A continuación, crear sus nuevos botones y añadirlos a un NSArray y pasar esto a los - [UIToolbar setItems: animada:] método de la siguiente manera:
UIBarButtonItem *newItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(handleTap:)] autorelease];
NSArray *newButtons = [NSArray arrayWithObjects:newItem, nil];
[self.toolbar setItems:newButtons animated:YES];
encontrado este post mientras que buscando en Google - de nota: hay un '[auto. navigationItem setLeftBarButtonItem: myBarButton animated: YES] 'método que utilicé para este propósito. ¡Gracias! – taber