CATransition视图切换动画的学习

CATransition是CAAnimation的子类
直接利用CATransition可以编写一些系统提供好的视图切换效果动画,例如下面举一个最简单的例子,imageView图片切换的动画

//_imgPic 设置新的图片
[_imgPic setImage:image];
//利用CATransition类方法,创建一个animation对象
CATransition *animation = [CATransition animation];
//设置对象的执行事件
[animation setDuration:1.0];
/*设置动画的填充模式,官方给出以下4种模式

CA_EXTERN NSString * const kCAFillModeForwards
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAFillModeBackwards
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAFillModeBoth
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString * const kCAFillModeRemoved
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);

*/
[animation setFillMode:kCAFillModeForwards];
//这是设置动画执行快慢 随着事件的变化函数
[animation setTimingFunction:[CAMediaTimingFunction   functionWithName:kCAMediaTimingFunctionEaseOut]];
//这是官方提供的几种效果
 /* 各种动画效果*/

//@"cube" @"moveIn" @"reveal" @"fade"(default) @"pageCurl" @"pageUnCurl" @"suckEffect" @"rippleEffect" @"oglFlip"
[animation setType:@"rippleEffect"];
//设置动画方向
[animation setSubtype:kCATransitionFromTop];
//直接在视图的layer上添加动画并执行
[_imgPic.layer addAnimation:animation forKey:nil];

现在运行一下就可一看到效果了 ,很多动画还有更加高级的动画编写,后续会继续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值