CALayer层和动画

动画有两种基本类别:

视图动画:当你想给用户界面一个视觉提醒时,主要使用这个动画。

层动画: 这个在应用内容和功能性上普遍使用。层不能接受像点击、按下等事件。


在核心动画中,时间无处不在。比如当需要一个层有动画属性时,比如动画时长、如何动、是否需要返回到初始值等等。这些值不能被层本身指派,而是在CAAnimation这个对象或者它的子类中,CABasicAnimation、CAKeyframeAnimation中指派的。


在MVC设计模式中,层是一个模型对象,而不是一个视图对象。层包含了如下属性:位置、轮廓、颜色等等。

通过调用addAnimation:forKeyPath这个方法,来增加动画对象到层中,这样就可以触发动画。

通过调用removeAnimation:froKeyPath这个方法,来停止层中的动画,不过,在默认情况下,动画运行完毕就会自动执行这一行为。


动画步调:

在核心动画中,默认的动画是渐进渐出的,意思就是动画开始的时候慢,然后在中间加速,之后当靠近目的地的时候再减速。这个渐进的概念让动画更接近自然平滑,然而一个线性的动画更多的是一个静态的感觉,因为这些属性的变化都是恒定的。

核心动画的步调功能主要包括:

Linear(线性):变化是恒定的,相当于一个静态的感觉。

Ease in(渐进):动画缓慢进入,然后加速离开。

Ease out(渐出):动画全速进入,然后减速到达目的地。

Ease in out(渐进渐出):动画缓慢进入,中间加速,然后减速到达目的地。这个是默认的动画行为。

你可能感兴趣的:(CALayer层和动画)