声明
欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。文章出处:http://blog.csdn.net/iukey |
先推荐一个帖子:http://www.cocoachina.com/bbs/read.php?tid-10972.html
转场动画是一种动画对象,可以被附着在已经存在的视图上。
需导入Quartz Qore框架
#import <QuatzCore/CAAnimation.h>
CATransition *myTransition=[CATransition animation];//创建CATransition
myTransition.duration=0.3;//持续时长0.3秒
myTransition.timingFunction=UIViewAnimationCurveEaseInOut;//计时函数,从头到尾的流畅度
myTransition.type=kCATransionPush;//动画类型
myTransition.subtype=kCATransitionFromLeft;//子类型
//要令一个转场生效,组要将动画添加到将要变为动画视图所附着的图层。例如在两个视图控制器之间进行转场,那就将动画添加到窗口的图层中:
[[self.view.superview layer]addAnimation:myTransition forKey:nil ];
//如果是将控制器内的子视图转场到另一个子视图,就将动画加入到视图控制器的图层。还有一种选择,用视图控制器内部的视图作为替代,将你的子视图作为主视图的子图层:
[ self.view.layer addAnimation:myTransition forKey:nil ];
[ self.view addSubView:newView ];
[oldView removeFromSuperview];
//如果你使用的是导航控制器,可以将动画加到导航控制器的视图图层中。
[ navigationController.view.layer addAnimation:myTransition forKey:nil ];
原文链接: http://blog.csdn.net/iukey/article/details/7242433