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];
现在运行一下就可一看到效果了 ,很多动画还有更加高级的动画编写,后续会继续更新

本文介绍如何使用CATransition类实现视图切换效果动画。通过设置不同的属性如执行时间、填充模式、执行快慢函数及动画类型等,演示了一个具体的图片切换动画实例。

2075

被折叠的 条评论
为什么被折叠?



