2015-04-12 69 views
4

有时我的应用程序崩溃时,两个UIAlertViews试图在同一时间呈现。如何在显示另一个之前检查是否显示另一个UIAlertview如何检查另一个视图控制器是否可见?

这是我试过的,但它不起作用。

注意:我在这个项目中使用了swift。

if ViewController.isVisable == false {  
    self.presentViewController(AlertView, animated: true, completion: nil)  
} 

回答

13

正如你可以检查你的问题了严格的响应,如果ViewController的观点有他的窗口:

if ViewController.view.window != nil { 

} 

无论如何,我鼓励你们采取@Wain的建议。

5

你不应该接近这样的问题。相反,无论触发警报显示应该启用/禁用视图控制器视图显示/隐藏。未显示的视图控制器通常不应通过继续跟踪状态并尝试更新UI(在其自己的视图中或使用警报)来消耗资源。

有时候有一些明显的例外情况,但它应该是您的基准位置,并且可以避免同时出现多个警报视图(或至少出于同样的原因/触发)的问题。

相关问题