8

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

4

1 に答える 1

18

私はこれが古いスレッドであることを知っていますが、これは私のために働きました:

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

これをメソッド内に配置しますviewDidLoadQuartzCoreフレームワークをリンク/インポートする必要があります。

于 2013-06-07T21:15:49.783 に答える