Если вы действительно используете UIToolbar (обратите внимание на строчную букву «b»), а не UINavigationBar, есть очень простой способ изменить кнопки и сделать переход автоматически исчезающим без перехода в Core Animation.
Если вы используете Interface Builder, вам понадобится ссылка на панель инструментов в вашем коде. Создайте свойство IBOutlet и свяжите с ним панель инструментов в IB:
@property (nonatomic, retain) IBOutlet UIToolbar *toolbar;
Это позволит вам ссылаться на UIToolbar как на self.toolbar. Затем создайте новые кнопки и добавьте их в NSArray и передайте их методу - [UIToolbar setItems: animated:] следующим образом:
UIBarButtonItem *newItem = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(handleTap:)] autorelease];
NSArray *newButtons = [NSArray arrayWithObjects:newItem, nil];
[self.toolbar setItems:newButtons animated:YES];