工作原因,切换到了新的项目,终于有机会用一发系统设计的动画框架了
具体代码就不说了,这里说说使用这2个东西后大体的认识吧
transitioning 和 coordinator 都是用于自定义动画,但是二者定义的维度不一样,A主要用于完全自定义系统的viewController动画显示,例如present,push等等了,当然你说是不是用了transitioning就不能用coordingator呢,当然也不是,coordinator本质的系统设计想法是在大的viewcontroller转场动画后,用于viewController内部小的UI元素做动画,这些个小的UI元素的动画和大的转场动画在同一个动画上下文中,这样是不是就可以让我们的动画变得很丰富呢?我不说你也知道,��(装波逼 ~~)
全动画逻辑在苹果哪里的说法叫 non interaction animation;大家肯定直接可以想到non interaction animation反面就是 interaction animation,我这里把这个翻译成交互式动画,一个典型的例子就是我们导航控件手势向右滑动退出了,实现这个交互式动画需要配合系统提供的UIPercentDrivenInteractiveTransition,手势外加UIPercentDrivenInteractiveTransition就可以实现你意向不到的交互式动画了
系统的导航控件 navigationcontroller也提供了自定义的delegate ,本质和viewcontroller一样
站在更高的层面思考,这个自定义动画的逻辑就是系统将相关动画的控制参数通过delegate全部交给你来做,我们自己做一个应该也是 so easy 的
我的测试demo:https://github.com/CaichaoGitHub/IOSDemos/tree/master/testCustomViewControllerAnimation