A set of methods that provides information about an in-progress view controller transition.


protocol UIViewControllerTransitionCoordinatorContext


Do not adopt this protocol in your own classes. UIKit creates an object that adopts this protocol and makes it available to your code when you animate changes using a transition coordinator object.

A transition coordinator context provides most of the same information as an object that adopts the UIViewControllerContextTransitioning protocol. You use this contextual information to determine the animation parameters, such as the view in which the animations take place, whether the transition is interactive, or whether the transition was the result of an interface orientation change. You then apply that information to the animations you create.

Most animations take place in the view returned by the containerView method. And at the time your animation blocks are executed, the view hierarchy already contains the view of the from view controller. You can use your animation blocks to animate additional content in that same container view or you can animate content in an entirely different view.


Getting the Views and View Controllers

func viewController(forKey: UITransitionContextViewControllerKey) -> UIViewController?

Returns the view controllers involved in the transition.


func view(forKey: UITransitionContextViewKey) -> UIView?

Returns the specified view involved in the transition.


var containerView: UIView

Returns the view in which the transition takes place.


Getting the Behavior Attributes

var presentationStyle: UIModalPresentationStyle

Returns the presentation style being used for the transition.


var transitionDuration: TimeInterval

Returns the noninteractive duration of a transition.


var completionCurve: UIView.AnimationCurve

Returns the completion curve associated with the transition.


var completionVelocity: CGFloat

Returns the starting velocity to use for any final animations.


var percentComplete: CGFloat

Returns the percentage of completion for an interactive transition when it moves to its noninteractive phase.


Getting the Transition State

var initiallyInteractive: Bool

A Boolean value indicating whether the transition started as an interactive transition.


var isInteractive: Bool

A Boolean value indicating whether the transition is currently interactive.


var isAnimated: Bool

A Boolean value indicating whether the transition is explicitly animated.


var isCancelled: Bool

A Boolean value indicating whether an interactive transition was cancelled.


var isInterruptible: Bool

A Boolean value indicating whether the transition animations can be interrupted.


Getting the Rotation Factor

var targetTransform: CGAffineTransform

Returns a transform indicating the amount of rotation being applied during the transition.



Inherits From

See Also

Transition Coordinators

protocol UIViewControllerTransitionCoordinator

A set of methods that provides support for animations associated with a view controller transition.