最近去面试,中间过程不怎么好,后面死缠烂打跟面试官沟通,得到了做Demo的机会,就需求就是做一个圆形过渡动画。借鉴了Raywenderlich的文章
把东西做出来了,可以说给了再生的机会,非常感激。 跟大家分享下!(希望你每次面试的你也能特别幸运!)
下面是分享:
1、转场动画的代理实现
注释:如果用的present跳转delegate用UIViewControllerTransitioningDelegate,不多说了继续。
设置转场动画代理实现代理方法
注释:首先实现代理的方法,返回对象动画对象。
2、生成类 and 遵守代理
注释:Animator类需要遵守UIViewControllerAnimatedTransitioning代理。(通用的Present跳转实现UIViewControllerAnimatedTransitioning,只是代理名不一样,代理方法基本差不多)
实现动画时间代理(这里随便写了个0.5)
动画时间代理所有的动画操作写在下面这个方法里
动画代码3、开始写动画逻辑
做前期参数准备 创建动画并添加到视图上 结尾工作(设置动画完成,并且干掉刚才的图层)动画到这里基本结束了。其实写下来也不是很难,本来自己想这个动画最关键的点是不知道圆改怎么个动法。其实就是 转场动画+核心动画+圆路径的计算。
再次谢谢网上代码的贡献者!! 希望我的东西能对你有帮助,同时也是对自己的帮助。
有兴趣的小伙伴可以交流交流。
最重要的地址:CircleAnimation
网友评论