0

我遇到了UIView控制器的這種糟糕的內部狀態:
有時候,呈現的vc從屏幕上移除,但仍保留在它的呈現VC上,如vc.presentedViewController。presentViewController:動畫:完成:失敗

在這種狀態下,在解除先前不可見的提示vc之前,您無法呈現任何其他vc。

回答

0

問題發生時調用[UIWindow makeKeyAndVisible],
而有一個提出的VC。

你可以辭退,並立即呈現模式(無UI毛刺):

[window makeKeyAndVisible]; 

    if (myCurrentVC.presentedViewController != nil) { 
      UIViewController *presented = myCurrentVC.presentedViewController; 
      [myCurrentVC dismissViewControllerAnimated:NO completion:nil]; 
      [myCurrentVC presentModalViewController:presented animated:NO]; 
    } 

偉大工程