iOS水波纹动画

最近在学习动画,就做了一个简单的水波纹动画。这个效果可以用在部分个人中心页的边界或者进度的显示。

先附上github地址:水波纹,里面有效果。

先说下动画实现的整体思路:

波纹的动画实际上是我们上学高数学过的正弦函数,虽说都已经忘的差不多了。。。

对方不想和你说话并扔过了一个公式,y=Asin(ωx+φ)+k,这个公式里面A是振幅,振幅越大,波峰和波谷也就越大。2π/ω是周期,即走完波峰和波谷整个所用的时间,φ是在x轴上的偏移量,负值为向右便宜,正值为向左偏,k是在y轴上的偏移量,正值为向上偏,负值为向下偏。

这个水波纹的是怎么动起来的呢?大家都知道电影这些东西本来就是用一张张照片以一个较快的速度播放,就成了动态效果。

在iOS要想实现这个动态效果,我们要借助定时器,只不过这个定时器不是NSTimer,NSTimer容易被阻塞,造成卡顿。这里我们用CADisplayLink,它是在屏幕闪烁的时候调用。在CADisplayLink方法里调用不同时候的曲线样式连在一起就成了动画。

好了,不多说了,show you the code,代码见。

你可能感兴趣的:(iOS水波纹动画)