我的应用程序使用两个不同背景的UINavigationBar的,以指示他们在什么样的水平层次结构中的用户。 当我把需要它缺少动画的第二个背景一个UIViewController,背景马上尽快的UIViewController推变化。 我怎么能这样的动画,这样的看法正在发生变化的背景变化消失?
Answer 1:
我知道这是一个古老的线程,但这个工作对我来说:
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];
将这个里面你viewDidLoad
的方法。 你将需要链接/导入QuartzCore框架。
文章来源: how can I animate the UINavigationBar background change on UIViewController push?