如何将导航控制器添加到基于视图的应用程序?

nod*_*nja 10 cocoa-touch objective-c uitableview uiviewcontroller uinavigationcontroller

是否有可能一个添加UINavigationController到从继承的视图的应用程序UIViewController,而不是UITableViewController?怎么做?

jv4*_*v42 22

是的,您可以在任何基于视图的应用程序中使用导航控制器,无论是在根级别(如在Xcode中创建基于导航的模板时)还是使用TabBar根目录,或使用任何Root.

举个例子,展示包含导航的模态视图(在我的应用程序中用于显示一系列表单):

    UIViewController *control = [[MyViewController alloc] initWithNibName: @"MyViewController" bundle: nil];
    UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
    [self presentModalViewController: navControl animated: YES];
    [control release];
Run Code Online (Sandbox Code Playgroud)

在另一个示例中,如果您想在根级别使用它,但没有使用导航模板创建应用程序,请在AppDelegate的didFinishLaunching(...)中:

    UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
    [window setRootViewController: navControl];
    [navControl release];
Run Code Online (Sandbox Code Playgroud)

您也可以通过设置您使用的View控制器的类(UIVavController取代UINavigationController)在Interface Builder中进行设置.

我希望这能回答你的问题(对前面的讨论感到抱歉).