我的应用程序使用两个不同的背景来表示用户在层次结构中处于哪个级别。当我推送需要第二个背景的UIViewController时,缺少动画效果,即UIViewController被推送后背景立即更改。如何使背景变化随着视图的更改而渐变,以便动画效果更加自然流畅?
我的应用程序使用两个不同的背景来表示用户在层次结构中处于哪个级别。当我推送需要第二个背景的UIViewController时,缺少动画效果,即UIViewController被推送后背景立即更改。如何使背景变化随着视图的更改而渐变,以便动画效果更加自然流畅?
我知道这是一个老帖子,但这对我有用:
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框架。