CAAnimation动画
1. CAAnimation
NSObject是CAAnimation的基类
CAAnimation是一个抽象的类,为CALayer层对象提供动画支持, 是所有动画类的基类
注: CAAnimation虽然能够实现很多动画效果, 但是尽量不要使用layer层的动画,因为它只是都是对layer层的重新渲染,比如说改变了一个View视图的layer显示坐标,他只是改变了layer的坐标, view的原始坐标是不会改变的,这说明layer和view是各自有自己的坐标系.如果能用UIView动画实现的,要用UIView动画来实现
2. CAPropertyAnimation
CAPropertyAnimation 是CAAnimation的子类, 他对CAAnimation进行了拓展, 增加了一个类方法
+ (instancetype)animationWithKeyPath:(nullable NSString *)path;
我们可以通过键值对,的方法来标记要创建的是那种动画效果, 属性path其实就是UILayer对象的所有隐式动画的属性名称, 如下 animationWithKeyPath的值:
transform.scale = 比例缩放
transform.scale.x = 宽的比例缩放
transform.scale.y = 高的比例缩放
transform.rotation.z = 平面的比例缩放
translation (.x .y .z)分别是横向移动,纵向移动,前后移动(没测试)
opacity = 透明度
margin,
position,
backgroundColor,
cornerRadius,
borderWidth,
bounds,
contents,
contentsRect,
cornerRadius,
frame,
hidden,
mask,
masksToBounds,
opacity,
position,
shadowColor,
shadowOffset,
shadowOpacity,
shadowRadius
详情请看官方文档,(CALayer Animatable Properties)