iOS水波纹动画

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

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

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

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 春节后经过数天的努力上架了公司一个项目后,暂时又进入了空闲期,于是就着手整理一下项目中遇到的一些有意思的需求。废话...
    趙小樂阅读 3,837评论 1 5
  • 补上:Demo地址 一.关键帧动画 效果如下(模仿Twitter的启动动画) 需要知道的 什么是CAKeyfram...
    JasonEVA阅读 4,341评论 7 25
  • 类似淘宝的效果:  我们知道,计算机不可能绘制出一条完美的曲线,如果放大到像素的级别,可以看到这些曲线其实都是栅格...
    CholMay阅读 1,386评论 0 7
  • 在竞争异常激烈的票务市场上,卖“气质”的格瓦拉如何找到新的出路|创始人说 当然并不是所有片子都能成为这样的爆款。就...
    初三说阅读 260评论 0 0
  • 我们上学的时候就知道早起的好处,早起可以读书,背单词,做练习,做运动,还可以做很多很多的事情。当下这个社会的...
    散步的蜗蜗阅读 613评论 2 1

友情链接更多精彩内容