View controllers existing and manage a pecking order of views. The UIKit framework or structure consists of modules for view controllers you could utilize to establish much of the typical user interaction idioms in iOS. You utilize these view controllers with any kind of customized view controllers you may need to develop your application’s user interface.
The base class for all the controllers in iOS is UIViewController. The personalized controllers that we develop in our application must be a subdivision of UIViewController.
A UIViewController will constantly have a referral to the top-level UIView.
That is, @property (nonatomic, retain) UIView *view;
You could locate the above line in the header file of UIViewController. Press cmd then click UIViewController in XCode to access its header file.
Navigation Controllers Manage Stacks of Other View Controllers
A navigation controller is a circumstance of the UINavigationController class that you make use of as-is in your application. Applications which contain organized content could make use of navigation controllers to browse between levels of content. The navigation controller itself handles the screen of several customized view controllers, each of which handles the data at a particular level in your data hierarchy. The navigation controller additionally supplies controls for establishing the existing location in this data hierarchy as well as for browsing back up the hierarchy.
For instance, Setting application in iPhone.
When you push any type of settings option it browses to the following page. Inside you are pressing a view controller onto the stack.
Tab Bar Controllers Manage Independent Sets of View Controllers
A tab bar controller is a case of the UITabBarController class that you utilize as-is in your application. Applications utilize tab bar controllers to handle numerous distinctive interfaces, each which contains any variety of personalized views and view controllers. The tab bar controller likewise handles interactions with a tab bar view, which the individual facets to alter the presently picked interface.
For instance, the iPod application on Apple iPhone and iPod touch makes use of a tab bar interface where each tab stands for a various way of viewing the user’s music and media.
For instance, Photos application
Check on the tabs at the bottom of the screen.
Page View Controllers Handle Paged Display of View Controllers
A page view controller is a circumstance of the UIPageViewController class that you make use of as-is in your application. Applications could utilize a page view controller to provide a paged view of content. The page view controller itself handles the screen of several content view controllers, each of which supplies a single page of content. The page view controller likewise supplies motion recognizers that allow the user to browse via its content.
Split View Controllers Handles Two Panes of Information
A split view controller is a circumstance of the UISplitViewController class that you make use of as-is in your application. Applications could utilize a split view controller to take care of 2 panes of information, where both sections of the interface are themselves handled by view controllers. This interface resembles a navigation controller, however, it capitalizes on the bigger display dimension of iPad to provide even more content at once.
For Instance, iPad Settings application.
Popovers Present Content in a Floating View
The UIPopoverController class collaborates with your application’s view controllers to present content in a floating view. This interface makes the most of the bigger display dimension of iPad to momentarily offer a smaller sized part of the content in the context of a bigger body of content.
View Controllers Are Mixed to Build More Sophisticated or Advanced Interfaces
In all, however the most basic applications, it prevails for 2 or even more view controllers to collaborate. Navigation, tab bar, and split view controllers constantly operate in combination with other view controllers, or even your custom view controllers might periodically should be existing other view controllers. Some mixes of view controllers function far better compared to others. Integrating view controllers in a manner which makes good sense is essential to producing an uncomplicated, conveniently accessible user interface.