2012-05-30 2 views
8

私のアプリはUINavigationBarに2つの異なる背景を使用して、階層内のどのレベルにいるのかをユーザーに示します。 2番目の背景が必要なUIViewControllerをプッシュするとアニメーションが不足し、UIViewControllerがプッシュされるとただちに背景が変更されます。ビューを変更しているときに背景の変化がぼやけるように、これをどのようにアニメートできますか?UIViewControllerプッシュでUINavigationBarの背景の変更をどのようにアニメーション化できますか?

答えて

17

私は、これは古いスレッドですけど、これは私の仕事:あなたのviewDidLoadメソッドの内部でこれを

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];   

場所。 QuartzCoreフレームワークをリンク/インポートする必要があります。

+0

私はずっとこれを断念しましたが、とにかく投稿していただきありがとうございます。これはいつか便利になるかもしれません。 – bpercevic

関連する問題