【问题标题】:Detect when system alertView willAppear/willDismiss检测系统警报视图何时出现/将关闭
【发布时间】:2014-10-29 16:30:54
【问题描述】:

我想检测系统警报视图(例如应用内购买确认警报)何时出现在屏幕上。 我正在尝试将键值观察器添加到 UIApplication,但它不起作用。

UIApplication.sharedApplication().addObserver(self, forKeyPath: "windows", options: NSKeyValueObservingOptions.allZeros, context: &myContext)

【问题讨论】:

  • 很有可能是因为 iOS 8 不再使用 UIAlertView,所以警报也不再有单独的窗口
  • 请问您是否有任何具体原因需要了解系统警报?像这样监视系统弹出窗口是非常不规则的。
  • 我想开始动画微调器,当警报弹出停止动画时。
  • 看看这个:也许它可以帮助你:[stackoverflow.com/questions/6607170/… [1]:stackoverflow.com/questions/6607170/…

标签: ios swift uialertview key-value-observing


【解决方案1】:

这不是我想要的,但它对我有用。

NotificationCenter.addObserver(self, selector: "applicationWillResignActive", name: UIApplicationWillResignActiveNotification, object: nil)
NotificationCenter.addObserver(self, selector: "applicationDidBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)

func applicationDidBecomeActive()
{
    if Library.isPurchasing
    {
        Application.networkActivityIndicatorVisible = true
    }
}

func applicationWillResignActive()
{
    if Library.isPurchasing
    {
        Application.networkActivityIndicatorVisible = false
    }
}

【讨论】:

  • in swift 5 : NotificationCenter.default.addObserver(self, selector: #selector(applicationWillResignActive), name: UIApplication.willResignActiveNotification, object: nil)
【解决方案2】:

查看UIAlertViewDelegate 文档。有willPresentAlertView:didPresentAlertView:alertView:willDismissWithButtonIndex:alertView:didDismissWithButtonIndex:等方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多