私のアプリは、UINavigationBarに2つの異なる背景を使用して、階層のどのレベルにいるかをユーザーに示します。アニメーションがない2番目の背景を必要とするUIViewControllerをプッシュすると、UIViewControllerがプッシュされるとすぐに背景が変更されます。ビューが変更されているときに背景の変更がフェードするように、これをアニメーション化するにはどうすればよいですか?
3202 次
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];
これをメソッド内に配置しますviewDidLoad
。QuartzCoreフレームワークをリンク/インポートする必要があります。
于 2013-06-07T21:15:49.783 に答える