导航堆栈应仅包含一个视图

时间:2011-10-07 14:21:39

标签: uinavigationcontroller back-button navigationcontroller

我有一个导航控制器和一个包含多个条目的tableView。如果我选择一个条目,则会推送一个新的DetailViewController。在DetailViewController中,您可以向右滑动以推送tableView的下一个Entry的DetailViewController。它工作得很好,但如果人们刷了大约10次,他们需要按下后退按钮10次才能回到tableView。所以我正在寻找一种很好的方式让人们回过头来看桌子。

我考虑重新创建后退按钮并使用popToRootViewControllerAnimated:

但还有另一种方法可以解决我的问题吗? 也许就像删除导航堆栈上的所有视图一样,只保留最后一个。

1 个答案:

答案 0 :(得分:0)

您可以使用tableview中下一个/上一个条目的详细信息更新详细信息,而不是推送新的DetailViewController。

你会丢失滑动/推动动画,但这可以解决。

另一种可能性是使用:

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

你需要弄清楚tableViewController是什么索引。如果它是根视图控制器,那么索引应为0。