以转场动画为例:
1> 创建CATransition对象
CATransition *animation = [CATransition animation];
2> 设置运动时间(即动画时间)
animation.duration = DURATION;
3> 设置运动type(类型)
animation.type = type;
if (subtype != nil) {
4> 设置子类 (和type配合使用, 指定运动的方向)
animation.subtype = subtype;
}
5> 设置运动速度(动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢)
animation.timingFunction = UIViewAnimationOptionCurveEaseInOut;
6> 将动画添加到view的Layer层
[view.layer addAnimation:animation forKey:@"animation"];
动画类型如下:
typedef enum : NSUInteger {
Fade = 1, //淡入淡出
Push, //推挤
Reveal, //揭开
MoveIn, //覆盖
Cube, //立方体
SuckEffect, //吮吸
OglFlip, //翻转
RippleEffect, //波纹
PageCurl, //翻页
PageUnCurl, //反翻页
CameraIrisHollowOpen, //开镜头
CameraIrisHollowClose, //关镜头
CurlDown, //下翻页
CurlUp, //上翻页
FlipFromLeft, //左翻转
FlipFromRight, //右翻转
} AnimationType;