【问题标题】:Application tried to present modally an active controller iOS 6.0.2应用程序试图以模态方式呈现活动控制器 iOS 6.0.2
【发布时间】:2013-01-06 13:19:15
【问题描述】:

当我尝试以模态方式呈现 UIViewController 时出现以下错误。

“应用程序试图以模态方式呈现活动控制器”。

我在 stackoverflow 中阅读了很多关于此的帖子。这解释了这个错误。 我知道,当已经存在的 UIViewController 再次尝试以模态方式显示时,会引发此异常。

我的应用逻辑是:

当应用程序进入后台时。我使用

解散模态视图控制器
[self dismissModalViewControllerAnimated:NO]

当应用返回前台时,我再次显示控制器

[self presentModalViewController:viewController animated:NO]

此逻辑在装有 iOS 6.0.1 的 iPad 上运行良好,但在装有 iOS 6.0.2 的 iPad Mini 上失败。

感谢任何建议。

【问题讨论】:

  • 我把实现改成这样:[self presentViewController:viewController animated:NO completion:nil]; [自我dismissViewControllerAnimated:没有完成:无];仍然生成相同的异常。我检查了presentedViewController 属性,有趣的是,即使在关闭它之后,它仍然持有对视图控制器的引用。

标签: ios ipad modalviewcontroller


【解决方案1】:

我认为最好的解决方案是在 iOS6 上使用presentViewControllerAnimated:completion:nil dismissViewControllerAnimated:completion: 或尝试在延迟后呈现视图控制器(通过NSTimer 的方法调用) .

[self presentViewController:YourVC animated:YES completion:nil];

[self dismissViewControllerAnimated:YourVC completion:nil];

【讨论】:

  • 是的,看起来这就是问题所在。我还需要支持 iOS 5.1.1,所以我可能需要编写特定于 iOS 版本的条件代码。
  • 我给了动画NO。同样的问题仍然存在。甚至我也替换了不推荐使用的方法。
  • 我也有同样的问题
  • 这里也有同样的问题...有什么解决办法吗?
猜你喜欢
  • 1970-01-01
  • 2020-06-06
  • 2011-12-25
  • 1970-01-01
  • 2014-03-03
  • 2013-02-15
  • 2017-09-02
  • 2011-12-16
  • 2018-08-24
相关资源
最近更新 更多