2012-05-30 17 views
8

Mi aplicación utiliza dos fondos diferentes para UINavigationBar para indicarle al usuario en qué nivel de la jerarquía se encuentran. Cuando presiono un UIViewController que necesita el segundo fondo que carece de animación, el fondo cambia inmediatamente tan pronto como se presiona el UIViewController. ¿Cómo puedo animar esto para que el cambio de fondo se desvanezca a medida que se cambia la vista?¿cómo puedo animar el cambio de fondo UINavigationBar en UIViewController push?

Respuesta

17

Sé que esto es un hilo viejo, pero esto funcionó para mí:

CATransition *transition = [CATransition animation]; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; 
transition.type = kCATransitionFade; 
transition.duration = 0.5; 

[self.navigationController.navigationBar.layer addAnimation:transition forKey:nil]; 
[self.navigationController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"navigationbar.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(44, 20, 44, 20)] forBarMetrics:UIBarMetricsDefault];   

Lugar esto dentro de su método de viewDidLoad. Deberá vincular/importar el marco QuartzCore.

+0

Hace tiempo que abandoné esto, pero gracias por publicar de todos modos. Puede servirnos algún día. – bpercevic

Cuestiones relacionadas