iphone - guidelines - tab bar ios
¿Cómo animar un cambio de botón en UINavigationBar? (1)
self.navigationItem.rightBarButtonItem = self.addToOrderButton;
Existen métodos específicos que puede usar para animar los elementos del botón de barra derecha e izquierda:
[self.navigationItem setRightBarButtonItem: self.addToOrderButton animated:YES];
... que lo animará para ti. Si necesita todo para animar (incluido el título) también puede usar el setItems:animated:
de su barra de navegación (páselo en una matriz de elementos de navegación que le gustaría mostrar)
Estoy llamando al -(void)setEditing:(BOOL)editing animated:(BOOL)animated
método -(void)setEditing:(BOOL)editing animated:(BOOL)animated
en mi código para intercambiar dos botones en el RHS de mi barra de navegación.
-(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;
}
}
Donde self.addItemButton
y self.addToOrderButton
son ivars que contienen UIBarButtonItems predefinidos, configure en awakefromNib
.
El botón en self.addToOrderButton
es significativamente más ancho que el de self.addItemButton
, por lo que me gustaría que sea una animación sutil entre los dos anchos cuando se active el cambio en el estado de edición (tocando un editButtonItem
estándar en el LHS de la navegación.
Si rodeo el todo if:else
con [UIView beginAnimations:nil context:NULL];
y [UIView commitAnimations];
el cambio de botón se anima, pero con sus posiciones: volando en su lugar individualmente desde la esquina superior izquierda, en lugar de hacerlo en su lugar, y simplemente animando sus anchos.
¿Cómo puedo animar los elementos de la barra de navegación para que cada uno individual (el botón RHS, el título) se anime de formas más apropiadas y restringidas?