iOS 核心动画

iOS 核心动画_第1张图片
据说放点美女图会增加点击量

用了好长时间的动画了,一直没有总结,打算把它总结一下,做个记录。

核心动画分类:

CABasicAnimation -- 基本动画

CAKeyframeAnimation -- 关键帧动画

CATransition -- 转场动画

CASpringAnimation -- 弹簧动画

CAAnimationGroup -- 动画组

CABasicAnimation 基本动画

* 动画的本质就是修改图层的某些属性

* 核心动画,利用核心动画修改Layer某些属性

简介

基本动画是CAPropertyAnimation的子类

属性说明:

。fromValue:keyPath相应属性的初始值

。toValue:keyPath相对应的结束值

动画过程说明:

随着动画的进行,在长度为duration的持续时间内,keyPath相应的属性值从fromValue渐渐变为toValue

keyPath内容是CALayer的可动画Animatable属性

如果fillMode=kCAFillModeForwards同时removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。

以下是代码实现步骤:

* 1.创建基础核心动画

CABasicAnimation *anim = [CABasicAnimation animation];

* 2.描述修改Layer的某个属性

anim.keyPath = @"position”;

* 3.描述修改Layer属性的值

动画的起点(如果不设,以默认值为终点)

anim.fromValue = @0

动画的终点

anim.toValue = [NSValue valueWithCGPoint:CGPointMake(300, 400)];

* 4.动画时长

anim.duration = 1;

* 5.取消反弹

(1)在动画完成的时候不要给我把动画销毁

anim.removedOnCompletion = NO;

(2)动画永远保持最新的状态

anim.fillMode = kCAFillModeForwards;

* 6.添加核心动画

[_reaView.layer addAnimation:anim forKey:nil];


关于keyPath:

具体参数值如下:

transform.scale = 缩放

transform.scale.x = 宽的比例转换

transform.scale.y = 高的比例转换

transform.rotation.z = 平面圖的旋转

opacity = 透明度

margin = 边框间隔 

zPosition = 平面图的位置

backgroundColor = 背景色

cornerRadius = layer的角度

borderWidth = 边框宽度

contents = 内容

bounds = 大小

contentsRect = 内容矩形

frame = 位置

hidden = 隐藏

mask = 标记

position = 位置

shadowOffset = 阴影偏移

shadowColor = 阴影颜色

shadowRadius = 阴影角度

你可能感兴趣的:(iOS 核心动画)