我有一个程序,其中包含一个信息列表,当点击它时,它需要带您一个屏幕以获取有关该项目的更多信息。我不知道是否需要使用表视图控制器或导航控制器。
你会推荐什么?为什么?这两者有什么不同?
答案 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
推送普通视图控制器。