【问题标题】:Swift - checking for system alert on the screenSwift - 检查屏幕上的系统警报
【发布时间】:2019-01-02 17:04:32
【问题描述】:

如果我使用 self.present(alert, animated: true, completion: nil) 显示 AlertController,那么我还可以使用 if self.presentedViewController == nil 检查该警报是否在屏幕上

当它是系统提供的警报控制器时,self.presentedViewController 仍然为 nil,即使屏幕上有警报视图。

有什么方法可以检查屏幕上是否显示此警报?

【问题讨论】:

标签: ios swift uialertcontroller


【解决方案1】:

查看应用的keyWindow 是否是您的窗口。如果不是,则系统正在向您的应用程序呈现某些内容。

还要查看应用的状态。如果它不活跃,它已经被它前面出现的东西停用了。

【讨论】:

  • 我必须重新考虑如何在这里设置我的项目,但总的来说,您的回答很有帮助,因为使用 if UIApplication.shared.keyWindow == self.view.window 确实可以正确显示系统警报何时出现在我的应用程序前面
  • @RanLearns,马特,抱歉它对我不起作用UIApplication.shared.keyWindow == self.view.window 总是返回 true...
  • @matt 问题相同:如何检测屏幕上的系统警报,版主很可能会删除我的问题。
猜你喜欢
  • 2018-10-13
  • 1970-01-01
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2022-01-11
  • 1970-01-01
相关资源
最近更新 更多