前言
在开发中,无论我们使用 push 还是 present 推出新的 viewcontroller 时,系统为了提高用户体验都会为我们默认加上一些过渡动画。但是,系统默认的动画总是不能满足大家各种各样的需求的,所以系统也为我们提供了在不同场景下自定义过渡动画以及通过手势控制过渡进度的实现方案。
这篇文章记录了自定义转场动画中的几种情况:
- 模态跳转(present)
- 导航控制器跳转(push)
- uitabbarcontroller
- 三方框架——lottie
效果图
预备
首先,我们现在介绍几个在自定义转场动画时需要接触的协议:
- uiviewcontrolleranimatedtransitioning: 实现此协议的实例控制转场动画效果。
- uiviewcontrollerinteractivetransitioning: 实现此协议的实例控制着利用手势过渡时的进度处理。
我们在定义好了实现上面两个协议的类后,只需要在需要进行转场的地方,提供对应的对象即可。
ps:下面的实例中,请大家忽略动画效果,关注实现。(其实是懒得去写太多动画了。