【问题标题】:How to check if modal view controller failed to display?如何检查模态视图控制器是否无法显示?
【发布时间】:2012-10-12 22:08:57
【问题描述】:

我有一个应用程序将模态视图控制器用于各种目的。对于这个问题,最重要的是,我们使用模态控制器在用户注销时显示登录屏幕。

我遇到的问题是,如果在调用时另一个模态控制器在屏幕上或屏幕外进行动画处理,则 presentModalViewController:animated: 似乎会静默失败。它将打印到调试控制台并显示警告,但该方法本身不会返回 BOOL 或抛出异常,因此我似乎无法检查代码是否失败,因此我可以在一秒钟内重试。

有什么方法可以检测到控制器调用这个方法后没有立即显示?

【问题讨论】:

    标签: iphone ios cocoa-touch


    【解决方案1】:

    所以当我输入这个问题时,我意识到我可以检查presentingViewController(或parentViewController)来查看它是否显示,如果没有,再试一次。

    经过测试,它可以工作。我想无论如何我都会发布并回答这个问题,以便其他人发现可能会遇到类似问题。


    我在测试中注意到的其他一些事情:

    • 看起来如果模态视图不带动画显示,即使调用时另一个模态视图正在动画也会成功。

    • 在您正在显示的控制器上调用dismissModalViewControllerAnimated:NO,在向模态控制器呈现动画之前,即使另一个控制器正在制作动画,它也将允许它成功完成。

    【讨论】:

    • 不错的方法,帮助了我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多