Instance Method


Changes the traits assigned to the specified child view controller.


- (void)setOverrideTraitCollection:(UITraitCollection *)collection forChildViewController:(UIViewController *)childViewController;



The new traits to apply to the child view controller.


The child view controller whose trait collection is to be changed.


Usually, traits are passed unmodified from the parent view controller to its child view controllers. When implementing a custom container view controller, you can use this method to change the traits of any embedded child view controllers to something more appropriate for your layout. Making such a change alters other view controller behaviors associated with that child. For example, modal presentations behave differently in a horizontally compact versus horizontally regular environment. You might also make such a change to force the same set of traits on the child view controller regardless of the actual trait environment.

See Also

Managing Child View Controllers in a Custom Container


An array of view controllers that are children of the current view controller.

- addChildViewController:

Adds the specified view controller as a child of the current view controller.

- removeFromParentViewController

Removes the view controller from its parent.

- transitionFromViewController:toViewController:duration:options:animations:completion:

Transitions between two of the view controller'€™s child view controllers.


Returns a Boolean value indicating whether appearance methods are forwarded to child view controllers.

- beginAppearanceTransition:animated:

Tells a child controller its appearance is about to change.

- endAppearanceTransition

Tells a child controller its appearance has changed.

- overrideTraitCollectionForChildViewController:

Retrieves the trait collection for a child view controller.


Raised if the view controller hierarchy is inconsistent with the view hierarchy.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software