Comment animer un bouton de changement de UINavigationBar?

Je suis l'appel de la -(void)setEditing:(BOOL)editing animated:(BOOL)animated méthode dans mon code pour permuter entre les deux boutons sur le membre de droite de ma barre de navigation.

-(void)setEditing:(BOOL)editing animated:(BOOL)animated {  
  [super setEditing:editing animated:animated];  

  //Toggle ‘+’ and ‘Add To Order’ button.    

  if( editing ) {
    self.navigationItem.rightBarButtonItem = self.addItemButton;  
  }  
  else {           
    self.navigationItem.rightBarButtonItem = self.addToOrderButton;  
  } 
}

self.addItemButton et self.addToOrderButton sont ivars contenant prédéfinis UIBarButtonItems, le programme d'installation en awakefromNib.

Le bouton dans self.addToOrderButton est sensiblement plus large que celui dans self.addItemButton, je voudrais donc leur être une subtile de l'animation entre les deux largeurs lorsque la modification de l'état d'édition est déclenchée (en appuyant sur un standard editButtonItem LHS de la navigation.

Si je entourent l'ensemble de la if:else avec [UIView beginAnimations:nil context:NULL]; et [UIView commitAnimations]; le bouton modifier n'est d'animer, mais avec leurs positions—volant en place individuellement à partir du haut à gauche plutôt qu'à en place et l'animation de leurs largeurs.

Comment j'anime la barre de navigation éléments de façon à ce que chacun de nous (le membre de droite bouton, le titre) animer plus approprié, des moyens de retenue?

InformationsquelleAutor creednmd | 2011-02-15