iOS的CoreAnimation框架下有一些特殊的layer,使用它们往往会做出非常炫丽的动画效果,不需要使用图片,不需要帧动画。下面我们就来看看三种常见的layer动画,分别是CAReplicatorLayer、CAEm
iOS的CoreAnimation框架下有一些特殊的layer,使用它们往往会做出非常炫丽的动画效果,不需要使用图片,不需要帧动画。下面我们就来看看三种常见的layer动画,分别是CAReplicatorLayer、CAEmitterLayer和CAGradientLayer。
一、复制层动画 CAReplicatorLayer
CAReplicatorLayer可以复制自己子层的layer,并且复制的出来的layer和原来的子layer拥有相同的动效。然后通过设置一些属性,就可以完成很酷的效果,非常强大。。
##效果1:
##实现:
1.首先我们要得到一个love路径,这个路径用UIBezierPath来制作;
2.创建CAReplicatorLayer,添加上CAKeyframeAnimation动效;
3.创建一个UIView,将CAReplicatorLayer添加上去。
##CAReplicatorLayer动画效果合集:
##实现:点击下载demo源代码
二、粒子动画 CAEmitterLayer
CAEmitterLayer 是一个高性能的粒子引擎,被用来创建复杂的粒子动画如:烟雾,火,雨等效果,并且很好地控制了性能。
CAEmitterLayer 看上去像是许多 CAEmitterCell 的容器,这些 CAEmitterCell 定义了一个例子效果。你将会为不同的例子效果定义一个或多个 CAEmitterCell 作为模版,同时 CAEmitterLayer 负责基于这些模版实例化一个粒子流。一个 CAEmitterCell 类似于一个 CALayer :它有一个 contents 属性可以定义为一个 CGImage ,另外还有一些可设置属性控制着表现和行为。
##下雪效果:
三、渐变层 CAGradientLayer
使用CAGradientLayer可以实现色差动画效果。
##效果:
##主要实现代码:
demo下载
点击下载demo源代码
总结
iOS的动画非常强大,还有很多很多有待我去学习。另外,写的很不好的地方,希望各位大神能够指正,我会尽量去修改,谢谢。
原文:大专栏 几种特殊的layer动画