Instance Method


Asks your delegate for the transition animator object to use when presenting a view controller.


- (id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source;



The view controller object that is about to be presented onscreen.


The view controller that is presenting the view controller in the presented parameter. The object in this parameter could be the root view controller of the window, a parent view controller that is marked as defining the current context, or the last view controller that was presented. This view controller may or may not be the same as the one in the source parameter.


The view controller whose presentViewController:animated:completion: method was called.

Return Value

The animator object to use when presenting the view controller or nil if you do not want to present the view controller using a custom transition. The object you return should be capable of performing a fixed-length animation that is not interactive.


Use this method to create and return an object that implements the methods of the UIViewControllerAnimatedTransitioning protocol. Your implementation of that protocol must animate the appearance of the presented view controller’s view onscreen. Use the presented, presenting, and source parameters to initialize your animator object or perform any tasks necessary to prepare the transition animations. You may return nil from this method if you do not want to implement a custom transition animation for the specified set of view controllers.

For information on implementing your transition animator object, see UIViewControllerAnimatedTransitioning.

See Also

Getting the Transition Animator Objects

- animationControllerForDismissedController:

Asks your delegate for the transition animator object to use when dismissing a view controller.