Swift3 实现下雪动画

今天我们项目圣诞节活动需要实现一个下雪动画的需求,实在有些懒,在网上找了一个,看了一下他们是怎么实现的。
一、第一种实现:是OC代码的一个实现方法,用Swift写完后,效果实现了。
这个感觉不太好,只说一下实现思路吧。是使用一个for循环,循环创建1000个imagView,给imageView位置的StartX 随机 大小随机 使用定时器或者时钟实现动画,这种消耗内存太大,而且还会崩溃,果断放弃

二、 第二种方法是在网上看到的另一个,用Swift写完后感觉,这才是下雪的感觉....
首先定义了一个UIImage的变量 var snowImg : UIImage! //雪花
下面就比较简单了


image.png

image.png

运行之后,实现了下雪的动画,而且因为使用定时器,实现的功能出现了一个额外的效果,当你滑动界面的时候,雪花会停止,当停止滑动的时候,雪花会重新下落。
因为我们的RunLoop模式是NSDefaultRunLoopMode 系统默认的模式,所以在UIScrollView拖拽的时候定时器会等到拖拽结束才继续执行,制造了这种额外效果。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容