在UINavigationController堆栈中显示特定视图

时间:2012-03-16 20:29:16

标签: ios uinavigationcontroller

在构建基于选项卡的应用程序的应用程序时,用户可以从第一个选项卡中查看其配置文件信息(特定于应用程序)。因此,已使用以下视图控制器设置UINavigationController

1 - Edit profile
0 - View profile (also the root view controller for the `UINavigationController`).

我想要实现的流程是如果尚未设置配置文件(即第一次运行应用程序),我想直接进入编辑配置文件视图,这是现在的默认行为视图位于堆栈的顶部。

我遇到的问题是,如果已经设置了配置文件,我将如何直接进入View Profile。我查看了UINavgationController的文档,并且不清楚是否将视图控制器弹出堆栈。方法popToViewController:animated返回从堆栈弹出的NSArray项。这是否意味着那些视图控制器不再可用,和/或是否有更好的方法直接转到我想要的视图控制器?

1 个答案:

答案 0 :(得分:0)

如果导航控制器中只有两个视图,而View是根视图控制器,则可以确保在选择该选项卡之前或之后立即运行popToRootViewControllerAnimated:来显示View在标签栏控制器上。

如果您希望显示修改,请使用编辑视图控制器运行popToRootViewControllerAnimated:,然后运行pushViewController:animated:

如果您想要弹出广告,可以使用popViewControllerAnimated:而不是popToViewController:animated。 (此导航控制器中只有两个视图控制器,因此只能弹出一个视图控制器。)

这似乎很简单,除非我误解了你的问题。

大多数程序不需要从popToViewController:animated返回的视图控制器数组。我自己并没有真正需要使用这种方法,而且,正如我所说,它看起来并不像你需要它。