iOS : Navigation Controller
A Navigation Controller is a special
kind of view controller that manages a stack of view controllers and their
corresponding views. It's an ideal way to display hierarchical data.
Navigation Controller is always initialized with a root view controller; this
will be the starting view at the bottom of the stack. As the user presses
buttons in that view, you can then push a new view controller onto the stack to
show a new view. When the user is done with the new view and presses a button
to go back, you then pop that controller off the stack to return to the root
view. (A Navigation Controller can be used
with or without a Navigation Bar.)
controller’s primary job is to manage the presentation of your content view
controllers, and it is also responsible for presenting some custom views of its
own. Specifically, it presents a navigation bar, which contains a back button
and some buttons you can customize. A navigation controller can also optionally
present a navigation toolbar view and populate it with custom buttons.
controller uses several objects to implement the navigation interface. You are
responsible for providing some of these objects and the rest are created by the
navigation controller itself.
Specifically, you are responsible for providing
the view controllers with the content you want to present. If you want to respond
to notifications from the navigation controller, you can also provide a
delegate object. The navigation controller creates the views—such as the
navigation bar and toolbar—that are used for the navigation interface, and it
is responsible for managing those views.
Objects managed by the navigation
navigation bar and toolbar objects associated with a navigation controller, you
can only customize some aspects of their appearance and behavior. The
navigation controller alone is responsible for configuring and displaying them.
In addition, a navigation controller object automatically assigns itself as the
delegate of its UINavigationBar
object and prevents other objects from changing that relationship.
modify the delegate and the other view controllers on the navigation stack. The
navigation stack is a last-in, first-out
collection of custom view controller objects that is managed by the navigation
controller. The first item added to the stack becomes the root view
controller and is never popped off the stack. Additional items can be added
to the stack using the methods of the UINavigationController