所以我的故事板如下图所示。
我想从第一个标签视图开始,即我写的“在这个视图中开始”。在该页面中,单击表格中的单元格会将下一个视图推送到self.navigationController(直接在下面查看),用户将从该屏幕上显示“DONE”。
按下完成按钮后我想回到“GO BACK HERE”屏幕,但是在popToRootViewController上,它一直停留在中间导航控制器的第一个视图上。如何在第一个选项卡上返回视图控制器?
答案 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];