UINavigationController自定义,push和pop动画
2014-03-14 17:23
274 查看
我自己写的一个自定义UINavigationController,可以很方便地定制UINavigationController的navigationBar背景样式,比较炫的push和pop效果,不多说,上代码。
重写-(void)pushViewController:(UIViewController
*)viewController animated:(BOOL)animated方法,以下是动画的关键代码
UIView * toView = [viewControllerview];
CABasicAnimation *Animation = [CABasicAnimationanimationWithKeyPath:@"transform"];
CATransform3D rotationAndPerspectiveTransform =CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 =1.0 / -1000;
rotationAndPerspectiveTransform =CATransform3DMakeTranslation(self.view.frame.size.width,0,
0);
[Animation setFromValue:[NSValuevalueWithCATransform3D:CATransform3DMakeTranslation(self.view.bounds.size.width,0,
0)]];
[Animation setToValue:[NSValuevalueWithCATransform3D:CATransform3DMakeTranslation(0,0,
0)]];
[AnimationsetDuration:0.3];
Animation.delegate =self;
//no表示动画会保持最后的状态,yes会返回到最初的状态
Animation.removedOnCompletion =NO;
Animation.fillMode =kCAFillModeBoth;
[toView.layeraddAnimation:Animation
forKey:@"fromRight"];
CABasicAnimation *Animation1 = [CABasicAnimationanimationWithKeyPath:@"transform"];
CATransform3D rotationAndPerspectiveTransform1 =CATransform3DIdentity;
rotationAndPerspectiveTransform1.m34 =1.0 / -1000;
rotationAndPerspectiveTransform1 =CATransform3DMakeScale(1.0,1.0,
1.0);
[Animation1 setToValue:[NSValuevalueWithCATransform3D:CATransform3DMakeScale(0.95,0.95,
0.95)]];
[Animation1setDuration:0.3];
Animation1.delegate =self;
Animation1.removedOnCompletion =NO;
Animation1.fillMode =kCAFillModeBoth;
[animationLayeraddAnimation:Animation1
forKey:@"scale"];
相关项目代码例子:http://download.csdn.net/detail/a865499908/7041469
重写-(void)pushViewController:(UIViewController
*)viewController animated:(BOOL)animated方法,以下是动画的关键代码
UIView * toView = [viewControllerview];
CABasicAnimation *Animation = [CABasicAnimationanimationWithKeyPath:@"transform"];
CATransform3D rotationAndPerspectiveTransform =CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 =1.0 / -1000;
rotationAndPerspectiveTransform =CATransform3DMakeTranslation(self.view.frame.size.width,0,
0);
[Animation setFromValue:[NSValuevalueWithCATransform3D:CATransform3DMakeTranslation(self.view.bounds.size.width,0,
0)]];
[Animation setToValue:[NSValuevalueWithCATransform3D:CATransform3DMakeTranslation(0,0,
0)]];
[AnimationsetDuration:0.3];
Animation.delegate =self;
//no表示动画会保持最后的状态,yes会返回到最初的状态
Animation.removedOnCompletion =NO;
Animation.fillMode =kCAFillModeBoth;
[toView.layeraddAnimation:Animation
forKey:@"fromRight"];
CABasicAnimation *Animation1 = [CABasicAnimationanimationWithKeyPath:@"transform"];
CATransform3D rotationAndPerspectiveTransform1 =CATransform3DIdentity;
rotationAndPerspectiveTransform1.m34 =1.0 / -1000;
rotationAndPerspectiveTransform1 =CATransform3DMakeScale(1.0,1.0,
1.0);
[Animation1 setToValue:[NSValuevalueWithCATransform3D:CATransform3DMakeScale(0.95,0.95,
0.95)]];
[Animation1setDuration:0.3];
Animation1.delegate =self;
Animation1.removedOnCompletion =NO;
Animation1.fillMode =kCAFillModeBoth;
[animationLayeraddAnimation:Animation1
forKey:@"scale"];
相关项目代码例子:http://download.csdn.net/detail/a865499908/7041469
相关文章推荐
- OC UINavigationController push pop自定义动画
- 自定义UINavigationController push和pop动画
- 【iOS学习笔记 15-11-06】简单自定义navigationcontroller push和pop动画效果
- 更改navigationController push和pop界面切换动画
- pushViewController自定义动画(转)
- UINavigationController Push动画
- pushViewController自定义动画http://blog.csdn.net/ralbatr/article/details/22039233
- 更改navigationController push和pop界面切换动画
- 更改navigationController push和pop界面切换动画
- 自定义PUSH POP跳转动画
- 更改navigationController push和pop界面切换动画
- 自定义UINavigationController的push和pop切换界面动画
- pushViewController自定义动画
- pushViewController自定义动画
- 更改navigationController push和pop界面切换动画
- 自定义Push和Pop过渡动画
- 更改navigationController push和pop界面切换动画
- 更改pushViewController和popViewController的动画效果
- ViewController push的自定义动画
- pushViewController自定义动画