iOS动画的逻辑结构:动画的定义--动画是采用连续播放静止图像的方法产生物体运动的效果。

动画的定义:视图+时间+空间+速度

视图信息的时空变换;

视图组的按时间逐帧展示;

         Core Animation 类的继承关系图 

各类常用属性

  • CAMediaTiming:CALayer和Core Animation都实现了这个协议,它模拟了一个定时系统的层级,它的每个对象都描述了从父类对象到本地的时间值的映射。从父类时间线到本地转化的步骤见文档。
    • 宗旨:Core Animation的时间都是相对的,每个动画都有它自己描述的时间,可以独立地加速,延时或者偏移。记住这点,可以方便理解属性的含义。
    • duration:动画的持续时长,它可能和动画进行的真实duration不一样,这个依赖与superlayer的time space或者就是speed。默认值是0,但不真是0,只是一个默认值,动画真实duration是0.25s。
    • beginTime:对象相对父类对象的开始时间,即动画的开始时间;
    • speed:指定从父类时间空间到receiver的时间空间是怎样映射的。是一个时间的倍数,默认1.0,减少它会减慢图层/动画的时间,增加它会加快速度。如果2.0的速度,那么对于一个duration为1.0的动画,实际上在0.5秒的时候就已经完成了。
    • timeOffset:相对时间,已经播放的时间

            

`CATransition`。

* `type`:过渡动画的动画类型,系统提供了四种过渡动画:

    - kCATransitionFade 渐变效果

    - kCATransitionMoveIn 进入覆盖效果

    - kCATransitionPush 推出效果

    - kCATransitionReveal 揭露离开效果

* `subtype`:过渡动画的动画方向,系统提供四个方向:

    - kCATransitionFromRight 从右侧进入

    - kCATransitionFromLeft 从左侧进入

    - kCATransitionFromTop 从顶部进入

    - kCATransitionFromBottom 从底部进入

* `startProgress`:动画开始点,取值范围[0,1]

:动画结束点取值范围

原文地址:https://www.cnblogs.com/feng9exe/p/10342670.html