Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从一个导航控制器切换到另一个导航控制器_Ios_Objective C_Uinavigationcontroller - Fatal编程技术网

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

Ios 如何从一个导航控制器切换到另一个导航控制器,ios,objective-c,uinavigationcontroller,Ios,Objective C,Uinavigationcontroller,我的A视图在其viewWillLoad方法中显示了一个UIImagePockerController模态控制器。拍摄完照片后,将通过以下方式取消拍摄: [self dismissViewControllerAnimated:YES completion:nil]; 进入我的A视图后,我将通过以下方式切换到我的B视图: [self.tabBarController setSelectedIndex:1]; 问题是,在切换tabBarController(如上所述)后,如果用户点

我的A视图在其
viewWillLoad
方法中显示了一个
UIImagePockerController
模态控制器。拍摄完照片后,将通过以下方式取消拍摄:

[self dismissViewControllerAnimated:YES completion:nil];
进入我的A视图后,我将通过以下方式切换到我的B视图:

        [self.tabBarController setSelectedIndex:1];
问题是,在切换
tabBarController
(如上所述)后,如果用户点击第一个选项卡,相机仍在显示

据我所知,导航控制器在堆栈上推送视图,直到我通过简单切换选项卡栏到达离开的A视图,因此返回该选项卡栏时仍显示A视图是有意义的

如何将导航堆栈重置为其根,然后切换到索引1处的选项卡栏

试试这个:

 [self.navigationController popViewControllerAnimated:YES];
 [self.tabBarController setSelectedIndex:1];
或者这个:

[self.navigationController popToRootViewControllerAnimated:YES];
[self.tabBarController setSelectedIndex:1];
popViewControlleranimated:将其设置为堆栈中的后退1步。
PoptorootViewController激活:将其设置为根。

在我看来,您对导航的思考方式并不完全正确。如果你在一个特定的导航中,作为某种行动的下一步,切换到另一个导航是不正确的。你可能是对的,我刚刚开始学习如何。你能再解释一下吗?我做错了什么?从用户的角度想想,就像你让他从一条路跳到另一条路,如果他/她想回来怎么办。您可以在以模态方式加载的导航控制器中显示A,并在需要时按下B。完成后,只需取消模式