我遇到了 UIView Controller 的这种糟糕的内部状态:
有时,呈现的 vc 从屏幕上移除,但仍保留在它的 presentingVC 上,就像 vc.presentedViewController。
在这种状态下,在您关闭之前的隐形呈现 vc 之前,您不能呈现任何其他 vc。
我遇到了 UIView Controller 的这种糟糕的内部状态:
有时,呈现的 vc 从屏幕上移除,但仍保留在它的 presentingVC 上,就像 vc.presentedViewController。
在这种状态下,在您关闭之前的隐形呈现 vc 之前,您不能呈现任何其他 vc。
调用 [UIWindow makeKeyAndVisible] 时会出现问题,
同时存在一个提供的 vc。
您可以立即关闭并呈现模式(没有 UI 故障):
[window makeKeyAndVisible];
if (myCurrentVC.presentedViewController != nil) {
UIViewController *presented = myCurrentVC.presentedViewController;
[myCurrentVC dismissViewControllerAnimated:NO completion:nil];
[myCurrentVC presentModalViewController:presented animated:NO];
}
对我有用