美文网首页iOSQuartzCore框架
IOS高级动画的使用

IOS高级动画的使用

作者: _Luyouli | 来源:发表于2016-09-22 19:51 被阅读0次

    在IOS开发过程中,我们常常会用到一些动画,合理的使用动画能给我们的应用带来很好的效果,下面我介绍几种很常用的动画的使用

    1.基础动画(CABasicAnimation)

    CABasicAnimation 的常用属性

    Autoreverses

    当你设定这个属性为YES时,在它到达目的地之后,动画的返回到开始的值,代替了直接跳转到 开始的值。

    Duration

    这个参数你已经相当熟悉了。它设定开始值到结束值花费的时间。期间会被速度的属性所影响。

    RemovedOnCompletion

    这个属性默认为YES,那意味着,在指定的时间段完成后,动画就自动的从层上移除了。这个一般不用。

    假如你想要再次用这个动画时,你需要设定这个属性为NO。这样的话,下次你在通过-set方法设定动画的属 性时,它将再次使用你的动画,而非默认的动画。

    Speed

    默认的值为1.0.这意味着动画播放按照默认的速度。如果你改变这个值为2.0,动画会用2倍的速度播放。 这样的影响就是使持续时间减半。如果你指定的持续时间为6秒,速度为2.0,动画就会播放3秒钟---一半的 持续时间。

    BeginTime

    这个属性在组动画中很有用。它根据父动画组的持续时间,指定了开始播放动画的时间。默认的是0.0.

    TimeOffset

    如果一个时间偏移量是被设定,动画不会真正的可见,直到根据父动画组中的执行时间得到的时间都流逝 了。

    RepeatCount

    默认的是0,意味着动画只会播放一次。如果指定一个无限大的重复次数,使用1e100f。这个不应该和repeatDration属性一块使用。

    RepeatDuration

    这个属性指定了动画应该被重复多久。动画会一直重复,直到设定的时间流逝完。它不应该和repeatCount一起使用。

    下面是参考代码

    2.关键帧动画(CAKeyframeAnimation)

    关键帧动画的某一个属性按照一系列参数进行一帧一帧的动画

    关键帧动画的重要属性:

    1. path

    这是一个 CGPathRef  对象,默认是空的,当我们创建好CAKeyframeAnimation的实例的时候,可以通过制定一个自己定义的path来让  某一个物体按照这个路径进行动画。这个值默认是nil  当其被设定的时候  values  这个属性就被覆盖

    2. values

    一个数组,提供了一组关键帧的值,  当使用path的 时候 values的值自动被忽略。

    关键帧的动画每一帧的时间可以通过keyTimes设置为不同的值,

    参考代码:

    3.转场动画(CATransition)

    转场动画常用与层之间的切换,系统自带的切换类型有以下几种:

    type共有四种类型:

    NSString * const kCATransitionFade;//逐渐消失

    NSString * const kCATransitionMoveIn;//移入

    NSString * const kCATransitionPush;//平移

    NSString * const kCATransitionReveal;//显露

    subtype:转场动画将要去往的方向。

    共有四种类型:

    NSString * const kCATransitionFromRight;

    NSString * const kCATransitionFromLeft;

    NSString * const kCATransitionFromTop;

    NSString * const kCATransitionFromBottom;

    默认为Nil;

    timingFunction 表示动画的减缓方式 有四种

    CA_EXTERN NSString * const kCAMediaTimingFunctionLinear(线性)

    CA_EXTERN NSString * const kCAMediaTimingFunctionEaseIn(渐入)

    CA_EXTERN NSString * const kCAMediaTimingFunctionEaseOut(渐出)

    CA_EXTERN NSString * const kCAMediaTimingFunctionEaseInEaseOut(渐入渐出)

    CA_EXTERN NSString * const kCAMediaTimingFunctionDefault(默认)

    代码示例:

    相关文章

      网友评论

        本文标题:IOS高级动画的使用

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