View Controller ResponsibilitiesView Controller HierarchyView Controller CreationHow a View Controller Obtains Its ViewManual ViewGeneric Automatic ViewView in a Separate NibSummaryHow Storyboards WorkHow a View Controller Nib is LoadedHow a View Nib is LoadedView ResizingView Size in the Nib EditorBars and UnderlappingResizing EventsRotationView Controller Manual LayoutPresented View ControllerPresentation and DismissalConfiguring a PresentationCommunication with a Presented View ControllerAdaptive PresentationPresentation and RotationTab Bar ControllerTab Bar ItemsConfiguring a Tab Bar ControllerNavigation ControllerBar Button ItemsNavigation Items and Toolbar ItemsConfiguring a Navigation ControllerCustom TransitionNoninteractive Custom Transition AnimationInteractive Custom Transition AnimationInterruptible Custom Transition AnimationCustom Presented View Controller TransitionTransition CoordinatorPage View ControllerPreparing a Page View ControllerPage View Controller NavigationOther Page View Controller ConfigurationsContainer View ControllersAdding and Removing ChildrenContainer View Controllers, Traits, and ResizingPeek and PopStoryboardsTriggered SeguesContainer Views and Embed SeguesStoryboard ReferencesUnwind SeguesView Controller Lifetime EventsIncoherencies in View Controller EventsAppear and Disappear EventsEvent Forwarding to a Child View ControllerView Controller Memory ManagementState RestorationHow to Test State RestorationParticipating in State RestorationRestoration ID, Identifier Path, and Restoration ClassRestoring View Controller StateRestoration Order of OperationsRestoration of Other ObjectsSnapshot Suppression