如何将一个导航控制器切换到另一个

时间:2014-05-04 16:27:10

标签: ios objective-c uinavigationcontroller

我的 A 视图中有一个UIImagePockerController模态控制器,其中包含viewWillLoad方法。拍摄照片后,将通过以下方式解散:

[self dismissViewControllerAnimated:YES completion:nil];

在进入 A 视图后,我将通过以下方式切换到 B 视图:

        [self.tabBarController setSelectedIndex:1];

问题是在切换tabBarController后(如上所述),如果用户点击第一个标签,则相机仍在显示。

我的理解是导航控制器在其堆栈上推送视图,直到我通过简单地切换tabBar到达 A 视图,因此 A 视图。

如何将导航堆栈重置为其根目录,然后切换到索引1处的tabBar?

Storyboard

1 个答案:

答案 0 :(得分:1)

试试这个:

 [self.navigationController popViewControllerAnimated:YES];
 [self.tabBarController setSelectedIndex:1];

或者这个:

[self.navigationController popToRootViewControllerAnimated:YES];
[self.tabBarController setSelectedIndex:1];

popViewControlleranimated:在堆栈中将其设置为1“step”。 popToRootViewControllerAnimated:将其设置为root。