系统默认的NavigationController还不错,但是时间长了会有审美疲劳,今天在网上找了找资料,改变默认的动画效果。
1.添加QuartzCore并引入头文件
#import <QuartzCore/CoreAnimation.h>
2. PushView 的动画修改
CATransition
*transition
=
[CATransition
animation];
transition.duration
=
1;
transition.timingFunction
=
[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEa
seInEaseOut];
transition.type
=
kCATransitionPush;
transition.subtype
=
kCATransitionFromTop;
transition.
delegate
=
self;
[self.navigationController.view.layer
addAnimation:transition
forKey:nil];
self.navigationController.navigationBarHidden
=
NO;
[self.navigationController pushViewController:viewController animated:NO];
3.popView的动画
CATransition
*transition
=
[CATransition
animation];
transition.duration
=
0.4;
transition.timingFunction
=
[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEa
seInEaseOut];
transition.type
=
kCATransitionReveal;
//
transition.subtype = kCATransitionFromBottom;
transition.
delegate
=
self;
[self.navigationController.view.layer
addAnimation:transition
forKey:nil];
self.navigationController.navigationBarHidden
=
NO;
[self.navigationController popViewControllerAnimated:NO];