圆形过渡动画

2017-10-31  本文已影响17人  哈哈哈哈coke丶

最近去面试,中间过程不怎么好,后面死缠烂打跟面试官沟通,得到了做Demo的机会,就需求就是做一个圆形过渡动画。借鉴了Raywenderlich的文章

http://www.raywenderlich.com/86521/how-to-make-a-view-controller-transition-animation-like-in-the-ping-app

把东西做出来了,可以说给了再生的机会,非常感激。  跟大家分享下!(希望你每次面试的你也能特别幸运!)

下面是分享:

1、转场动画的代理实现

注释:如果用的present跳转delegate用UIViewControllerTransitioningDelegate,不多说了继续。

设置转场动画代理

实现代理方法

注释:首先实现代理的方法,返回对象动画对象。

2、生成类 and 遵守代理

注释:Animator类需要遵守UIViewControllerAnimatedTransitioning代理。(通用的Present跳转实现UIViewControllerAnimatedTransitioning,只是代理名不一样,代理方法基本差不多)

实现动画时间代理(这里随便写了个0.5)

动画时间代理

所有的动画操作写在下面这个方法里

动画代码

3、开始写动画逻辑

做前期参数准备 创建动画并添加到视图上 结尾工作(设置动画完成,并且干掉刚才的图层)

动画到这里基本结束了。其实写下来也不是很难,本来自己想这个动画最关键的点是不知道圆改怎么个动法。其实就是 转场动画+核心动画+圆路径的计算。

再次谢谢网上代码的贡献者!! 希望我的东西能对你有帮助,同时也是对自己的帮助。

有兴趣的小伙伴可以交流交流。

最重要的地址:CircleAnimation

上一篇下一篇

猜你喜欢

热点阅读