utilizo el siguiente código como una extensión de UINavigationController
para empujar un controlador de vista con una animación personalizada:Empujar un UITableViewController con animación personalizada siempre anima UINavigationItem Título
@implementation UINavigationController (PushAnimation)
- (void)pushViewController:(UIViewController*)controller withTransition:(UIViewAnimationTransition)transition
{
[UIView beginAnimations:nil context:NULL];
[self pushViewController:controller animated:NO];
[UIView setAnimationDuration:1.0];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationTransition:transition forView:self.view cache:YES];
[UIView commitAnimations];
}
@end
está activada la caché, aparece un comportamiento extraña animación al presionar UITableViewController
. El título de la vista presionada aparece después de que se completa la animación personalizada. Con el estilo de transición UIViewAnimationTransitionNone
, queda claro que el título está animado. Se mueve desde la esquina superior izquierda de la pantalla al centro de UINavigationBar
.
Con el almacenamiento en caché desactivado, esta animación no es visible debido a su velocidad, pero la velocidad de fotogramas disminuye significativamente.
¿Cómo puedo evitar que el título sea animado?
Creo que la animación del título está sucediendo en el código 'UINavigationBar'. Una idea sería subclasificar eso también y cambiar su comportamiento predeterminado – adig