Instance Method

animate(alongsideTransition:completion:)

Runs the specified animations at the same time as the view controller transition animations.

Required.

Declaration

func animate(alongsideTransition animation: ((UIViewControllerTransitionCoordinatorContext) -> Void)?, completion: ((UIViewControllerTransitionCoordinatorContext) -> Void)? = nil) -> Bool

Parameters

animation

A block containing the animations you want to perform. These animations run in the same context as the transition animations and therefore have the same default attributes. You may specify nil for this parameter.

The block has no return value and takes the following parameter:

context

The contextual information for performing the animations. Use this object to get the animation-related information, including the container view in which to run your animations. For more information, see UIViewControllerTransitionCoordinatorContext.

The animation you specify must take place in a view descended from the container view.

completion

The block of code to execute after the transition finishes. You may specify nil for this parameter. The block has no return value and takes the following parameter:

context

The contextual information for performing the animations. Use this object to get the animation-related information, including the container view in which to run your animations. For more information, see UIViewControllerTransitionCoordinatorContext.

Return Value

true if the animations were successfully queued to run or false if they were not.

Discussion

Use this method to perform animations that are not handled by the animator objects themselves. All of the animations you specify must occur inside the animation context’s container view (or one of its descendants). Use the containerView property of the context object to get the container view. To perform animations in a view that does not descend from the container view, use the animateAlongsideTransition(in:animation:completion:) method instead.

The animations in the animation parameter are normally performed concurrently with the view controller transition animations. That behavior applies when the animator object’s animateTransition: method is implemented using UIView-based animations. If the animator object uses Core Animation to animate the layer contents directly, your animations are run shortly after the animateTransition: method returns.

This method returns false when the block in the animation parameter cannot be queued to run. The completion block can still run even when this method returns false.

See Also

Responding to View Controller Transition Progress

func notifyWhenInteractionChanges((UIViewControllerTransitionCoordinatorContext) -> Void)

Registers a block to be executed when a transition changes from interactive to non-interactive.

Required.

func notifyWhenInteractionEnds((UIViewControllerTransitionCoordinatorContext) -> Void)

Registers a block to be executed when a transition changes from interactive to non-interactive.

Required.

Deprecated