How to add a navigation controller to a view-based application?

19,435

Yes, you can have Navigation controllers in any view based application, whether at the Root level (like when you create the Navigation-based template in Xcode) or with a TabBar root, or with any Root.

One example, presenting a modal view including navigation (used in my app to display a series of forms):

    UIViewController *control = [[MyViewController alloc] initWithNibName: @"MyViewController" bundle: nil];
    UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
    [self presentModalViewController: navControl animated: YES];
    [control release];

In another example, if you want to have it at the root level, but didn't create the application with the Navigation template, in the AppDelegate's didFinishLaunching(...):

    UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
    [window setRootViewController: navControl];
    [navControl release];

You can also set it in Interface Builder, by setting up the class of the View controller you use (UIViewController replaced by UINavigationController).

I hope this answers your question (sorry about the previous discussion).

Share:
19,435
node ninja
Author by

node ninja

Updated on June 19, 2022

Comments

  • node ninja
    node ninja almost 2 years

    Is it possible to add a UINavigationController to a view application that inherits from UIViewController and not UITableViewController? How is it done?