8
我的應用程序使用UINavigationBar的兩種不同背景來向用戶指示它們所處的層次結構中的級別。當我推送需要第二個背景的UIViewController時,它缺少動畫,只要UIViewController被推送,背景立即改變。我如何動畫這個動畫,以便在視圖更改後背景變化消失?如何在UIViewController push上爲UINavigationBar背景更改設置動畫效果?
我的應用程序使用UINavigationBar的兩種不同背景來向用戶指示它們所處的層次結構中的級別。當我推送需要第二個背景的UIViewController時,它缺少動畫,只要UIViewController被推送,背景立即改變。我如何動畫這個動畫,以便在視圖更改後背景變化消失?如何在UIViewController push上爲UINavigationBar背景更改設置動畫效果?
我知道這是一個古老的線程,但這個工作對我來說:
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框架的。
我早就放棄了這一點,不過謝謝發帖。這可能有一天會派上用場。 – bpercevic