2012-05-30 2 views
8

내 응용 프로그램은 UINavigationBar에 대해 서로 다른 두 배경을 사용하여 사용자가 계층 구조의 어느 수준에 있는지 나타냅니다. 두 번째 배경이 필요한 UIViewController를 푸시하면 UIViewController가 밀리 자마자 배경이 즉시 변경됩니다. 뷰를 변경하면서 백그라운드 변경이 사라지도록 애니메이션을 어떻게 만들 수 있습니까?UIViewController 푸시에서 UINavigationBar 배경 변경을 어떻게 애니메이트 할 수 있습니까?

답변

17

나는이 오래된 스레드 알고, 그러나 이것은 나를 위해 일한 :

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 프레임 워크를 링크/가져올 필요가 있습니다.

+0

오랫동안 이것을 포기했지만 어쨌든 게시 해 주셔서 감사합니다. 이것은 언젠가는 유용 할 것입니다. – bpercevic

관련 문제