代码之家  ›  专栏  ›  技术社区  ›  Arun_

警告:演示或取消正在进行时,尝试从视图控制器中取消<UINavigationController:0xb359a20>

  •  3
  • Arun_  · 技术社区  · 13 年前

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

    rootViewController->pushViewController->pushViewController->pushViewController->呈现模式视图控制器

    从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];
        }
    }
    

    但我收到一条信息
    警告:演示或取消正在进行时,试图从视图控制器中取消!

    以及在这个应用程序崩溃之后。

    我搜索了一下,但没有找到任何对我有用的东西, 有人能解释为什么会发生这种情况吗?

    1 回复  |  直到 13 年前
        1
  •  7
  •   Kyle Fang    13 年前
    [self dismissViewControllerAnimated:YES completion:^{
        [(UINavigationController *)self.presentingViewController popToRootViewControllerAnimated:YES];
    }];
    

    这个代码对我来说很好,

    重要的 :

    这个 viewController 必须由 navigationController (在大多数情况下) 如果没有,请致电 self.presentingViewController.navigationController .