Ios 显示viewController时出现控制台警告

Ios 显示viewController时出现控制台警告,ios,objective-c,console,Ios,Objective C,Console,我正在开发一个应用程序,它在向左旋转时显示一个视图控制器,然后向右旋转时显示另一个视图控制器。我的segue的风格是模态的,我使用的是交叉融合过渡。问题是,当我向左旋转然后快速向右旋转时,控制台会向我发送以下警告: Warning: Attempt to present <SSGraphRightViewController: 0x81159b0> on <UINavigationController: 0x82439a0> while a presentation is

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

Warning: Attempt to present <SSGraphRightViewController: 0x81159b0> on <UINavigationController: 0x82439a0> while a presentation is in progress!
警告:在演示过程中尝试在上演示!

有没有办法避免这个警告?也许可以加快过渡时间

您不能从已经呈现的视图控制器中呈现视图控制器,控制台在这方面是正确的,因此请使用不同样式的segue或正确处理它

希望这有助于:

当我试图演示另一个UIViewController时,我遇到了同样的问题,所以我所要做的就是关闭现有的UIViewController,然后演示新的UIViewController。在您的情况下,这是因为在呈现UIViewController期间发生了快速转换,所以请先关闭现有的UIViewController,然后呈现新的UIViewController。应该是这样的

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
在(void)完成块中,将代码放入新VC,如下所示:

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

希望能有帮助

如果您很好地使用了开发人员概要文件,那么您可以像使用模拟器一样直接进行调试。如果您没有或只有分发配置文件,请执行以下操作:在xcode中转到organizer,或只需按cmd+shift+2即可显示您的organizer,转到“设备”选项卡并选择您的设备(在左侧)。在您的设备下,您将看到“console”,您可以在其中查看所有控制台日志。您不能手动旋转视图控制器,这是不建议的。您可以使用UIViewAnimation块旋转视图my,通过动画更改其帧。按此操作[UIView animateWithDuration:0.5延迟:0.0选项:UIViewAnimationCurveLinear动画:^{//在此处更改视图帧,并以您在选项中指定的动画方式进行完成:^(BOOL finished){];别忘了先将框架设置为其他内容,然后再尝试这段代码。这很好,请不要感谢我,我们都是来学习和做伟大的事情的。