【发布时间】:2011-04-14 15:41:46
【问题描述】:
是否可以将UINavigationController 添加到继承自UIViewController 而不是UITableViewController 的视图应用程序?是怎么做到的?
【问题讨论】:
标签: objective-c cocoa-touch uiviewcontroller uinavigationcontroller uitableview
是否可以将UINavigationController 添加到继承自UIViewController 而不是UITableViewController 的视图应用程序?是怎么做到的?
【问题讨论】:
标签: objective-c cocoa-touch uiviewcontroller uinavigationcontroller uitableview
我创建了一个示例代码来了解如何构建一个 UITabBarController,它是使用 viewcontroller 的容器创建的,包括几个 navigationcontroller https://github.com/damienromito/CustomTabBarController
【讨论】:
是的,您可以在任何基于视图的应用程序中使用导航控制器,无论是在根级别(例如在 Xcode 中创建基于导航的模板时)还是使用 TabBar 根,或使用任何根。
一个例子,展示一个包含导航的模式视图(在我的应用中用于显示一系列表单):
UIViewController *control = [[MyViewController alloc] initWithNibName: @"MyViewController" bundle: nil];
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
[self presentModalViewController: navControl animated: YES];
[control release];
在另一个例子中,如果你想在根级别拥有它,但没有使用导航模板创建应用程序,在 AppDelegate 的 didFinishLaunching(...) 中:
UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: control];
[window setRootViewController: navControl];
[navControl release];
您也可以在 Interface Builder 中设置它,通过设置您使用的 View 控制器的类(UIViewController 替换为 UINavigationController)。
我希望这能回答你的问题(对之前的讨论感到抱歉)。
【讨论】: