iOS回到不同的NavigationController上查看

时间:2014-01-25 23:25:37

标签: ios uinavigationcontroller storyboard segue

所以我的故事板如下图所示。

我想从第一个标签视图开始,即我写的“在这个视图中开始”。在该页面中,单击表格中的单元格会将下一个视图推送到self.navigationController(直接在下面查看),用户将从该屏幕上显示“DONE”。

按下完成按钮后我想回到“GO BACK HERE”屏幕,但是在popToRootViewController上,它一直停留在中间导航控制器的第一个视图上。如何在第一个选项卡上返回视图控制器?

enter image description here

1 个答案:

答案 0 :(得分:0)

通过从DONE视图控制器弹出到根视图控制器,正如您所说,它将带您到中间导航控制器中的第一个视图控制器,因为这是当前可见的层次结构。

您要做的是从视图控制器中选择UITabBarController selectedIndex,如下所示:

self.tabBarController.selectedIndex = 0;

以上将选择第一个标签。

修改

假设您从START FROM THIS VIEW控制器中引用了formPage1:

// set formPage1's properties, then

// Get the middle tab's navigation controller
UINavigationController *navigationControllerAtTabIndex1 = [self.tabBarController.viewControllers objectAtIndex:1];
// Push formPage1 view controller on the middle tab's navigation controller stack
[navigationControllerAtTabIndex1 pushViewController:formPage1 animated:YES];
// Set the selected view controller to the middle tab's navigation controller
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:1];