Interaction Transition
为了自定义交互式的过渡动画,UIViewControllerTransitioningDelegate对象必须实现对应的协议方法,interactionControllerForPresentation(_:)和interactionControllerForDismissal(_:)。交互控制根据用户的手势输入来更新自定义的过渡动画,
而自定的过度动画是实现了UIViewControllerAnimatedTransitioning协议的对象,关于该协议这里就不再说明了。
Apple提供了一个交互式控制器的具体实现UIPercentDrivenInteractiveTransition,在大多数情况下,我们的交互式控制器只要继承它,然后加入自己的手势交互就好了。
在我们的手势交互逻辑中,根据用户的输入,我们利用以下几个方法来实时更新动画:
1  | func updateInteractiveTransition(_ percentComplete: CGFloat)  | 
一个简单的例子如下:
1  | import UIKit  | 
在定义了这个Animator之后,只要在另外一个对象(实现了UIViewControllerTransitioningDelegate协议)的interactionControllerForDismissal(_:)返回这个类的实例即可。
1  | func interactionControllerForDismissal(animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {  |