Swift3 实现下雪动画
2017-12-07 本文已影响0人
半曲恋江南
今天我们项目圣诞节活动需要实现一个下雪动画的需求,实在有些懒,在网上找了一个,看了一下他们是怎么实现的。
一、第一种实现:是OC代码的一个实现方法,用Swift写完后,效果实现了。
这个感觉不太好,只说一下实现思路吧。是使用一个for循环,循环创建1000个imagView,给imageView位置的StartX 随机 大小随机 使用定时器或者时钟实现动画,这种消耗内存太大,而且还会崩溃,果断放弃
二、 第二种方法是在网上看到的另一个,用Swift写完后感觉,这才是下雪的感觉....
首先定义了一个UIImage的变量 var snowImg : UIImage! //雪花
下面就比较简单了
image.png
image.png
运行之后,实现了下雪的动画,而且因为使用定时器,实现的功能出现了一个额外的效果,当你滑动界面的时候,雪花会停止,当停止滑动的时候,雪花会重新下落。
因为我们的RunLoop模式是NSDefaultRunLoopMode 系统默认的模式,所以在UIScrollView拖拽的时候定时器会等到拖拽结束才继续执行,制造了这种额外效果。