iPhone dev - 基于导航的应用程序模板中的导航控制器在哪里?

Posted

技术标签:

【中文标题】iPhone dev - 基于导航的应用程序模板中的导航控制器在哪里?【英文标题】:iPhone dev - Where is the navigation controller in a navigation-based app template? 【发布时间】:2011-07-13 16:29:12 【问题描述】:

我对基于导航的应用模板感到困惑。它不为您提供 UINavigationController 吗?因为RootViewController是一个UITableViewController,那我用什么来做导航控制器呢? (我实际上在哪里进行推送?)我必须制作自己的导航控制器吗?我应该在哪里做?为什么称为基于导航的应用程序不为您提供导航控制器?我很困惑。感谢您的帮助

【问题讨论】:

【参考方案1】:

它在 MainWindow.xib 中 在代码上,它将连接到 AppDelegate 中的 IBOutlet。 在 applicationDidFinishLaunching 中,这将被添加并作为关键窗口。

【讨论】:

【参考方案2】:

在 mainWindow.xib 上添加导航控制器,并通过 appDelegate 类中的 IBOutlet 连接。在 applicationDidFinishLaunching 方法中将导航控制器的视图添加到窗口。导航控制器有一个视图控制器,它被分配了一个名为 rootViewcontroller 的类并分配了一个名为 rootviewcontroller 的 nib。您可以通过打开并检查 mainwindow.xib 来查看。

【讨论】:

谢谢。因此,如果我想访问 navigationcontroller 以将新的 tableviewcontrollers 推送到它的堆栈上,我必须在 myProjAppDelegate.m 中进行吗?还是可以(应该?)我在 myProjAppDelegate.m 之外访问它? @Tim 不一定。您可以使用UIViewController 的navigationController 属性通过RootViewController 访问导航控制器,因为它位于导航控制器的堆栈中。例如,在 RootViewController 类中你可以这样做:[self.navigationController pushViewController:anotherViewController animated:YES];

以上是关于iPhone dev - 基于导航的应用程序模板中的导航控制器在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

在基于导航的应用程序-iphone中的选定视图中隐藏导航栏

创建多屏 iPhone 应用?

基于窗口的应用程序或基于导航的应用程序

如何在 iPhone 中基于导航的应用程序中添加标签栏

使用 Core Data 进行存储 - 在基于导航和基于窗口的应用程序中 - iPhone

iphone dev - 异步加载表格内容