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

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

从零到一学习CoreAnimation(4.动画组)_第1张图片
缩小和旋转同时执行
    //同时执行多个动画
    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篇文章讲完了核心动画,但是都是基本的公式,可以想象成物理题,公式就那几个,但是千遍万户的种类是相当的多,所以要勤学勤练才好,过去几天,会给出几个动画的效果及思路。

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

从零到一学习CoreAnimation(4.动画组)_第2张图片
继承结构图

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

你可能感兴趣的:(从零到一学习CoreAnimation(4.动画组))