CATransition(转场动画)

本文详细介绍了CATransition转场动画的基本概念、属性设置及应用案例。CATransition作为CAAnimation的子类,提供了多种动画过渡类型,如淡入淡出、立方体翻滚等,并可通过属性调整动画细节。
摘要由CSDN通过智能技术生成

CATransition-转场动画

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

1.属性说明

type: 动画过渡类型

kCATransitionFade:交叉淡化过渡

kCATransitionPush:新视图吧旧视图

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

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

 

用字符串表示:

pageCurl:向上翻页效果

pageUnCurl:向下翻页效果

cube:立方体翻滚效果

oglFlip:上下左右翻转效果

rippleEffect:波纹

suckEffect:吮吸

flipFromLeft:左翻转

flipFromRight:右翻转

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

rippleEffect:水滴效果

cameraIrisHollowOpen:相机镜头打开效果

cameraIrisHollowClose:相机镜头关闭效果

 

subType:动画过渡方向

 

 

kCATransitionFromRight

kCATransitionFromTop

kCATransitionFromLeft

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"];

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/chenjiangxiaoyu/p/7154289.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值