关于ios:呈现viewController时的控制台警告

console warning when presenting a viewController

我正在开发一个应用程序,它在向左旋转时显示一个视图控制器,然后向右旋转时显示另一个视图控制器。我的Segue风格是模态的,我使用交叉融合过渡。问题是,当我向左旋转然后快速向右旋转时,控制台会向我发送以下警告:

1
Warning: Attempt to present <SSGraphRightViewController: 0x81159b0> on <UINavigationController: 0x82439a0> while a presentation is in progress!

有没有办法避免这个警告?可能加速过渡时间?


您不能从已经显示的视图控制器中显示视图控制器,控制台是正确的,因此可以使用其他样式的segue或正确地处理它。

希望这有帮助:在故事板中,莫代尔和普什塞格有什么区别?

当另一个uiviewcontroller出现时,我试图呈现一个uiviewcontroller时也遇到了同样的问题,所以我所要做的就是去掉现有的uiviewcontroller,然后呈现新的uiviewcontroller。在您的例子中,这是因为在呈现uiviewController时发生了快速的转换,所以首先忽略现有的控制器,然后呈现一个新的控制器。应该是这样的

1
- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion

在(void)完成块中,输入代码来呈现新的vc,如下所示:

1
2
3
[yourVC dismissViewControllerAnimated:YES completion:^{
//present your new VC here.
}];

希望它有帮助!!