Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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/23.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 警告:试图从视图控制器中关闭<;UINavigationController:0xb359a20>;在进行演示或解雇时_Ios_Objective C_Uinavigationcontroller_Presentmodalviewcontroller_Poptoviewcontroller - Fatal编程技术网

Ios 警告:试图从视图控制器中关闭<;UINavigationController:0xb359a20>;在进行演示或解雇时

Ios 警告:试图从视图控制器中关闭<;UINavigationController:0xb359a20>;在进行演示或解雇时,ios,objective-c,uinavigationcontroller,presentmodalviewcontroller,poptoviewcontroller,Ios,Objective C,Uinavigationcontroller,Presentmodalviewcontroller,Poptoviewcontroller,在我的应用程序中,我正在做的是: rootViewController->pushViewController->pushViewController->pushViewController->presentModalViewController 从presentModalViewController,我想直接转到rootViewController 所以我所做的是: while(theViewController = [theObjectEnumerator nextObject ])

在我的应用程序中,我正在做的是:

rootViewController->pushViewController->pushViewController->pushViewController->presentModalViewController

从presentModalViewController,我想直接转到rootViewController

所以我所做的是:

while(theViewController = [theObjectEnumerator nextObject ])
     {
         if([theViewController modalTransitionStyle] == UIModalTransitionStyleCoverVertical)
         {
             [self.mNavigationController popToRootViewControllerAnimated:
              YES];
         }
     }
 }else
while(theViewController = [theObjectEnumerator nextObject ])
{
    if([theViewController modalTransitionStyle] == UIModalTransitionStyleCoverVertical)
    {
        [self.mNavigationController dismissModalViewControllerAnimated:YES];
    }
}
但我得到一个信息
警告:在演示或取消过程中,尝试从视图控制器取消

在这个应用程序崩溃之后

我搜索了一下,但找不到对我有用的东西, 有谁能解释为什么会发生这种情况

[self dismissViewControllerAnimated:YES completion:^{
    [(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
}];
这个代码对我来说很好用

重要

viewController
必须由
navigationController
显示。(在大多数情况下)
如果没有,请调用
self.presentingViewController.navigationController

好吧,从错误显示的方式来看,您似乎正在尝试在视图进行模式转换的同时从视图控制器弹出。也许您可以从
navigationViewController
直接显示模式视图。或者,如果你同意的话<代码>popToRoot位于Dismise completion块。我不能使用popToRootViewController,因为当前视图是presentmodalviewcontroller,所以我想我必须像dismissPresentmodalviewcontroller->popToRootViewController那样操作。@kylei已经编辑了代码,但它仍然不起作用@Kylet这是嵌套Dismise和presentation的正确方法。谢谢使用此方法时,我收到“开始/结束外观转换的不平衡调用”警告