View Controller ResponsibilitiesView Controller HierarchyAutomatic Child View PlacementManual Child View PlacementPresented View PlacementEnsuring a Coherent HierarchyView Controller CreationHow a View Controller Obtains Its ViewManual ViewGeneric Automatic ViewView in a Separate NibSummaryHow Storyboards WorkHow a Storyboard View Controller Nib is LoadedHow a Storyboard View Nib is LoadedView ResizingView Size in the Nib EditorBars and UnderlappingResizing and Layout EventsRotationUses of RotationPermitting Compensatory RotationInitial OrientationDetecting RotationView Controller Manual LayoutInitial Manual LayoutManual Layout During RotationPresented 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 ResizingPreviews and Context MenusStoryboardsTriggered SeguesContainer Views and Embed SeguesStoryboard ReferencesUnwind SeguesView Controller Lifetime EventsOrder of EventsAppear and Disappear EventsEvent Forwarding to a Child View ControllerView Controller Memory ManagementLazy LoadingNSCache, NSPurgeableData, and Memory-MappingBackground Memory Usage