UIViewControllerInteractiveTransitioning

To enable an object (such as a navigation controller) to drive a view controller transition, configure a custom class to adopt the UIViewControllerInteractiveTransitioning protocol. An object that supports this protocol is called an interactive transition delegate.

An interactive transition delegate can respond to touch events, or to time-varying programmatic input, by speeding up, slowing down, or even reversing the progress of a view controller transition. For example, an interactive transition on a navigation controller could respond to a swipe gesture by moving a view controller onto or off of the navigation stack.

To support an interactive view controller transition, you must also provide a transition animator delegate, which is a custom object that adopts the UIViewControllerAnimatedTransitioning protocol. The transition delegate and the transition animator can, if you wish, be defined within a single custom class, but the class must adopt both protocols.

Declaration

Parameters

transitionContext

The context object containing information about the transition.

Discussion

Your implementation of this method should use the data in the transitionContext parameter to configure user interactivity for the transition and then start the animations. While tracking user interactions, your event handling code should regularly call the context object’s updateInteractiveTransition: method to report on how much of the transition is now complete. If events indicate that the user has canceled the transition, call the cancelInteractiveTransition method. If events indicate that the transition has finished, call the finishInteractiveTransition method.