View Controller ResponsibilitiesView Controller HierarchyAutomatic Child View PlacementManual Child View PlacementPresentation View PlacementEnsuring a Coherent 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 LayoutInitial Manual LayoutBipartite Manual LayoutTripartite Manual LayoutPresented View ControllerPresentation and DismissalConfiguring a PresentationCommunication with a Presented View ControllerAdaptive PresentationPresentation, Rotation, and the Status BarTab Bar ControllerTab Bar ItemsConfiguring a Tab Bar ControllerNavigation ControllerBar Button ItemsNavigation Items and Toolbar ItemsConfiguring a Navigation ControllerCustom TransitionNoninteractive Custom Transition AnimationInteractive 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 ChildrenStatus Bar, 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 ManagementLazy LoadingNSCache, NSPurgeableData, and Memory-MappingBackground Memory UsageTesting Memory UsageState RestorationHow to Test State RestorationParticipating in State RestorationRestoration ID, Identifier Path, and Restoration ClassRestoring View Controller StateRestoration Order of OperationsRestoration of Other Objects