从零到一学习CoreAnimation(4.动画组)

作者: mkb2 | 来源:发表于2016-08-28 13:17 被阅读65次

    马上说说最简单的动画组
    1.所谓的动画组,也是CAAnimation的一个子类,就是一个group,可以同时执行很多个动画的,特有的属性是animations,用于盛放多个动画.
    2.盛放的是基础动画

    缩小和旋转同时执行
        //同时执行多个动画
        private func operatorManyAnim()
        {
          //缩放,平移,和旋转同时执行
            let sAnim = CABasicAnimation()
            sAnim.keyPath = "transform.scale"
            sAnim.toValue = (0.0)
            
            
            let rAnim = CABasicAnimation()
            rAnim.keyPath = "transform.rotation"
            rAnim.toValue = M_PI
            
            let group = CAAnimationGroup()
            group.animations = [sAnim,rAnim]
            group.removedOnCompletion = false
            group.fillMode = kCAFillModeForwards
            group.duration = 1
            gv.layer.addAnimation(group, forKey: "2323")
        }
    

    注意点
    1.动画组继承自CAAnimation
    2.removedOnCompletionfillMode属性要给group才行,否则有问题


    用4篇文章讲完了核心动画,但是都是基本的公式,可以想象成物理题,公式就那几个,但是千遍万户的种类是相当的多,所以要勤学勤练才好,过去几天,会给出几个动画的效果及思路。

    如果你看完四篇文章还是云里雾里,那就记住这张图片,就会了所有的动画

    继承结构图

    1.动画一共有四个,基本动画帧动画转场动画动画组,但都是继承自CAAnimation
    2.基本动画特有的属性是fromValue,toValue,只能从一个值到另一值
    3.帧动画有两个方式赋值,values,path
    4.基本动画,帧动画都是继承于CAPropertyAnimation,都要想给动画指定要执行什么动画的操作
    5.转场动画在实际的开发中要注意的是typesubtype,前者是转场样式,后者是转场的方向
    6.动画组特有的属性是animations,用来放置多个动画,但是要注意,一旦结束了动画,默认都是移除动画,这两个属性,应该给动画组对象!,而其他种类动画都给了动画对象
    7.可以实现代理方法,监听动画开始和结束
    8.所有的动画都有timingFunction的属性,用于处理进入和出去的动画特效
    9.addAnimation:forKey:第二个属性,适用于给动画对象多一个名字,将来移除动画的时候,方便删除~
    10.所有的动画都是时间,共有的属性,动画都是对layer进行操作的!

    相关文章

      网友评论

        本文标题:从零到一学习CoreAnimation(4.动画组)

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