2

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

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

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

4

1 回答 1

2

您不能从已经呈现的视图控制器中呈现视图控制器,控制台对此是正确的,因此要么使用不同风格的 segue,要么正确处理它。

希望这会有所帮助: Storyboards 中的 Modal 和 Push segue 有什么区别?

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

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

在 (void) 完成块中放置您的代码以呈现新的 VC,如下所示:

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

希望能帮助到你!!。

于 2013-04-06T12:31:41.363 回答