首页 > 代码库 > CATransition(转场动画)

CATransition(转场动画)

CATransition-转场动画

  CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点。UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果。

1.属性说明

type: 动画过渡类型

<style></style>

kCATransitionFade:交叉淡化过渡

kCATransitionPush:新视图吧旧视图

kCATransitionMoveIn:新视图移到旧视图上面

kCATransitionReveal:将旧视图移开,显示下面的视图

 

用字符串表示:

pageCurl:向上翻页效果

pageUnCurl:向下翻页效果

cube:立方体翻滚效果

oglFlip:上下左右翻转效果

rippleEffect:波纹

suckEffect:吮吸

flipFromLeft:左翻转

flipFromRight:右翻转

suckEffect:收缩效果,如一块布被抽走

rippleEffect:水滴效果

cameraIrisHollowOpen:相机镜头打开效果

cameraIrisHollowClose:相机镜头关闭效果

 

subType:动画过渡方向

 

<style></style>

 

kCATransitionFromRight

<style></style>

kCATransitionFromTop

<style></style>

kCATransitionFromLeft

<style></style>

kCATransitionFromBottom

 

 

duration:动画执行时间

 

timingFunction:动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢。 

kCAMediaTimingFunctionLinear            线性,即匀速 

kCAMediaTimingFunctionEaseIn            先慢后快

kCAMediaTimingFunctionEaseOut           先快后慢

kCAMediaTimingFunctionEaseInEaseOut     先慢后快再慢

kCAMediaTimingFunctionDefault           实际效果是动画中间比较快.

 

startProgress : 动画起点(在整体动画的百分比)

endProgress : 动画终点(在整体动画的百分比)

 

 

 //创建动画    CATransition *transition         = [[CATransition alloc]init];    transition.duration              = 0.5;    transition.timingFunction        = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];    transition.type                  = kCATransitionReveal;    transition.subtype               = kCATransitionFromBottom;    UULoginUserViewController *login = [[UULoginUserViewController alloc] init];    UUNavigationController *nav      = [[UUNavigationController alloc] initWithRootViewController:login];    self.window.rootViewController   = nav;    [self.window.layer addAnimation:transition forKey:@"animation"];

 

 

 

 

 

 

 

 

CATransition(转场动画)