美文网首页
CALayer显示动画

CALayer显示动画

作者: Rokkia | 来源:发表于2016-06-27 15:35 被阅读100次

属性动画:

通过CABasicAnimation来设置属性动画

通过keyPath属性获取到属性的名字

通过fromValue 和toValue属性设置动画的初始状态和结束状态

当然还有很多这里不多做介绍,关键是,当你添加完成BasicAnimation后,执行完成后动画会回到初始状态,由于最近再看的文章可能比较老,上面介绍是通过重写CAAnimationDelegate中的-animationDidStop:finished:方法,这个方法会监听到动画的结束,在这里可以设置动画的结束效果。当然这种方式存在弊端后面会介绍新的方式来处理。

关键帧动画:

CAKeyframeAnimation是UIKit没有暴露出来的类,跟CABasicAnimation一样是CAPropertyAnimation的子类,但是区别在于它可以根据一连串的随意的值来做动画。

CAKeyframeAnimation有一个Values属性来设置多个动画的值,可以设置动画多个值。

这你可以设置CALayer根据一定的轨迹进行运动,这里的轨迹可以通过UIBezierPath来设置,通过CAKeyframeAnimation的path设置运动轨迹,但是需要注意的是,这里的path需要一个指针,于是你需要传一个CGPath

上面的这是你会发现运动时你的CALayer是不变的,于是我们就需要设置一下rotationMode = kCAAnimationRotateAuto

虚拟属性:

首先虚拟属性是什么,这个问题看了好几遍的文章才看懂,比如:CALayer有一个transform动画,当你通过keyPath对它进行赋值的时候,很多时候会达不到你想要的效果,那怎么办呢,可以通过虚拟属性,如:transform.rotation这是你在通过对应的动画。

用transform.rotation而不是transform做动画的好处如下:

我们可以不通过关键帧一步旋转多于180度的动画。

可以用相对值而不是绝对值旋转(设置byValue而不是toValue)。

可以不用创建CATransform3D,而是使用一个简单的数值来指定角度。

不会和transform.position或者transform.scale冲突(同样是使用关键路径来做独立的动画属性)。

toValue和byValue:

下面说一下toValue和byValue 一个是绝对值一个是相对值,前者是在指定位置上增加,后者是在当前位置上增加。

keyPath:

keyPath是一个关键路径而不是一个键,一个键后面是不能加东西的,但是一个关键路径

动画组:CAAnimationGroup

CAAnimationGroup是CAAnimation的子类,关键在于有一个animations的数组,可以存放多个动画,从而多个动画一起执行。

注意:当你多个使用AnimationGroup的时候,当你在每个动画里面添加duration的时候是没有效果的,只有在AnimationGroup里添加才会有效果。

过渡:??????

�取消动画:

    - (void)removeAnimationForKey:(NSString *)key;

    - (void)removeAllAnimations;   

问题在于停止后图层会变回初始状态,并不是停止在当前状态???

相关文章

  • CALayer显示动画

    属性动画: 通过CABasicAnimation来设置属性动画 通过keyPath属性获取到属性的名字 通过fro...

  • CALayer

    •CALayer和UIView的关系 –CALayer负责视图中显示内容和动画 –UIView负责监听和响应事件 ...

  • 核心动画

    CALayer CALayer负责视图中显示内容和动画 UIView负责监听和响应事件。在创建UIView对象时,...

  • CALayer 图层

    概念 CA -> Core Animation (核心动画) 相对更底层. CALayer负责视图中显示内容和动画...

  • Animation:CABasicAnimation动画实例总结

    总结内容 1. 掌握UIView显示层动画和CALayer内容层动画区别 2. 理解Core Animation核...

  • Animation

    1、你知道什么是隐式动画吗?什么是显示动画? 2、CALayer类,是在QuartzCore 框架下的东西,so ...

  • 动画 (1) ----- CALayer

    CALayer 和 UIView 联系CALayer的相关属性CALayer之隐式动画 一. CALayer 和 ...

  • 动画(基础篇--核心动画)

    须知: 动画分为 UIView动画 和 核心动画,而核心动画是直接作用在CALayer上的。 CALayer 1...

  •  iOS CoreAnimation核心动画总结

    一些日常的动画练习 //动画演示... iOS版动画 UIView与CALayer的关系:首先CALayer从NS...

  • Swift convertTime

    CALayer的动画设置:

网友评论

      本文标题:CALayer显示动画

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