表视图控制器与导航控制器

时间:2011-08-09 18:28:20

标签: iphone objective-c xcode interface-builder

我有一个程序,其中包含一个信息列表,当点击它时,它需要带您一个屏幕以获取有关该项目的更多信息。我不知道是否需要使用表视图控制器或导航控制器。

你会推荐什么?为什么?这两者有什么不同?

3 个答案:

答案 0 :(得分:2)

UINavigationController是一个'容器'控制器。意思是,它内部包含其他视图控制器。因此,如果您想在UINavigationViewController中使用UITableviewController,您可以这样做:

[[UINavigationController alloc]initWithRootViewController:yourTableView];

然后,当您从表中选择要显示新信息的项目时,您将“推送”一个新的视图控制器到UINavigationController堆栈上:

[self.navigationController pushViewController:nextView animated:YES];

这可以在

中完成
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

UITableViewController的功能。它将为您创建顶部的工具栏,以及预期的向后导航按钮。

This link是解释视图控制器类型的苹果文档,绝对值得一读。

答案 1 :(得分:1)

你需要同时使用两者。 UITableViewController将显示项目列表,UINavigationController将允许您转到辅助(“详细信息”)屏幕。

阅读View Controller Programming Guide了解更多信息。

答案 2 :(得分:1)

您需要在导航控制器中使用表视图控制器。表视图控制器将提供您的项目列表。然后,当您想要显示更多信息时,使用UINavigationController推送普通视图控制器。