iOS Developer - AnimationiOS Developer

CoreAnimation

2016-07-28  本文已影响37人  任性不认命ToT

一、CoreAnimation的介绍


Core Animation是一组非常强大的动画处理API,使用它能做出非常绚丽的动画效果,而且往往是事半功倍,使用它需要添加QuartzCore.framework和引入对应的框架<QuartzCore/QuartzCore.h> .


二、CoreAnimation 的动画对象CAAnimation

  1. CAPropertyAnimationCAAnimation的子类,也是个抽象类,要想创建动画对象,应该使用它的两个子类:CABasicAnimationCAKeyframeAnimation.
    keyPath:CoreAnimation 的 keyPath 是针对layer的属性来的,凡是属性备注最后又Animatable的都能用来当做动画属性
    常用的动画属性如下表
属性 注释
bounds 尺寸
position 位置
zPosition z轴位置
anchorPoint 锚点
anchorPointZ z轴锚点
hidden 隐藏
borderWidth 边框宽度
borderColor 边框颜色
cornerRadius 圆角
opacity 透明度
shadowColor 阴影颜色
shadowOffset 阴影偏移
shadowOpacity 阴影透明度
shadowRadius 阴影圆角
transform transform.translation.x(y, z) 平移 transform.scale.x(y, z)缩放 transform.rotation.x(y, z) 旋转,z轴的动画,在没有设置透视效果的情况下看不到,所以一般不用,要看到z轴的动画一般直接用transfrom来做在keyPath,并设置CATransform3D结构体对象的m34属性
strokeEnd CAShapeLayer(终点)
strokeStart CAShapeLayer(起点)
colors CAGradientLayer(渐变色数组)
locations CAGradientLayer(渐变色位置数组)
startPoint CAGradientLayer(开始位置,默认是0.5,0)
endPoint CAGradientLayer(结束位置,默认是0.5,1)
instanceCount CAReplicatorLayer(复制数)
instanceTransform CAReplicatorLayer(赋值层形变)
  1. CAAnimationGroup:由多个基本动画组成的动画组,设置其@property(nullable, copy) NSArray<CAAnimation *> *animations;属性来组合动画
  2. CATransition:转场动画

CATransition的属性设置和说明

    @property(copy) NSString *type;    // 转场类型
    kCATransitionFade
    kCATransitionMoveIn
    kCATransitionPush
    kCATransitionReveal
    @property(nullable, copy) NSString *subtype;  // 转场方向
    kCATransitionFromRight
    kCATransitionFromLeft
    kCATransitionFromTop
    kCATransitionFromBottom

CATransition还可以用来给UIImageView,UILabel等实现转场动画,在他们改变图片,文字,字体,颜色的时候,非常实用


三、CAAnimation 的常用属性

以下属性是给CAAnimation设置动画效果的


上一篇 下一篇

猜你喜欢

热点阅读