如果我在Xcode中使用Empty模板,它只提供了一个app delegate和window,我想要一个带导航栏的UITableView用于向上和向下钻取,我是否正确假设我应该如下所示,创建一个UITableView子类,实例化它,然后实例化navController,将TableView设置为navControllers根视图,然后将navController添加为Window的根视图?
创建UITableViewController只是为了将其添加到另一个视图控制器子类(UINavigationController)似乎是错误的。
这是对的吗?
MyTableViewController *myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:MyTableViewController];
[self.window setRootViewController:navController];
答案 0 :(得分:1)
是的,这是对的。导航控制器是一个容器,其目的是管理一堆视图控制器,因此它与表视图控制器非常不同。尝试使用主详细信息模板并比较差异。
答案 1 :(得分:1)
你是对的。这就是你使用导航控制器的方式。他们管理其他视图控制器。 (http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/NavigationControllers.html#//apple_ref/doc/uid/TP40011313-CH2-SW27)
答案 2 :(得分:1)
你是对的。我还建议您使用表视图框架(例如免费的Sensible TableView)来管理所有详细视图控制器,而不必手动创建它们。