美文网首页与时俱进的IT
UI(四十八)属性动画

UI(四十八)属性动画

作者: 社会主义顶梁鹿 | 来源:发表于2018-07-30 18:11 被阅读0次

    属性动画->通过改变图层或者视图上面的属性值(支持动画的属性)产生的动画

     属性动画的常用方法属性:

     1、初始化  +(instancetype)animationWithKeyPath:(nullable NSString *)path

    path 需要产生动画的属性

     如:中心点 -> 移动

     2、keyPath 描述动画的属性

     可以改变属性的动画:

    transform.scale = 比例转换

     transform.scale.x

     transform.scale.y

     transform.rotation.z

    opacity = 透明度

     zPosition

    backgroundColor 背景颜色

    cornerRadius 圆角

    borderWidth 边框的宽度

     bounds

    contents 内容

     contentsRect

     frame

     hidden

     masksToBounds

     opacity

     position

     shadowColor

     shadowOffset

     shadowOpacity

     shadowRadius

     基础动画:CABasicAnimation

     介绍:通过改变某个属性的值到某个值->只能设置两个值->产生的动画

    fromValue 开始值 如果不设置不会返回到初始位置

    toValue 结束值

    byValue 通过哪个值

     核心动画:CAAnimation 是所有动画的父类

     1、CAMediaTiming媒体事件类协议 核心动画关于时间类的控制 是遵守了CAMediaTiming中的协议内容

     (1)beginTime 动画开始的时间 默认为0

     (2)duration 动画的持续时间 默认为0 持续时间 受速度的影响

     实际的动画完成时间 = 持续时间/速度

     (3)speed 动画播放的速度 默认为1 速度设置成0可以暂停动画

    speed 2秒duration 60秒 动画真正播放完成的时间 30秒

     (4)timeOffset 动画播放时间的偏移量

     (5)repeatCount 动画的循环次数 默认是0 只播放一次

    repeatDuration 动画循环的持续时间 只能设置其中的一个属性

     (6)autoreverses 是否以动画的形式返回到播放之前的状态

     (7)fillMode 设置当前对象在非活动时间段的状态

     要想fillMode有效 需设置removedOnCompletion = NO

    kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态

    kCAFillModeBackwards 立即进入动画的初始状态并等待动画开始

    kCAFillModeBoth 动画加入后开始之前layer处于动画初始状态 动画结束后layer保持动画最后的状态

    kCAFillModeRemoved 默认值 动画结束后layer会恢复到之前的状态

     2、CAAnimation动画属性方法介绍

     (1)初始化方法 animation

     (2)timingFunction 速度控制类 控制动画运行的节奏

     functionWithName:初始化

    kCAMediaTimingFunctionLinear 匀速

    kCAMediaTimingFunctionEaseIn 慢进快出

    kCAMediaTimingFunctionEaseOut 快进慢出

    kCAMediaTimingFunctionEaseInEaseOut 慢进慢出 中间加速

    kCAMediaTimingFunctionDefault 默认

     (3)delegate

     (4)removedOnCompletion 动画完成的时候是否移除动画效果

     (5)代理方法 

     - (void)animationDidStart:(CAAnimation *)anim

     - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag

    相关文章

      网友评论

        本文标题:UI(四十八)属性动画

        本文链接:https://www.haomeiwen.com/subject/mmtqvftx.html