Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 检测系统警报视图何时出现/何时解除_Ios_Swift_Uialertview_Key Value Observing - Fatal编程技术网

Ios 检测系统警报视图何时出现/何时解除

Ios 检测系统警报视图何时出现/何时解除,ios,swift,uialertview,key-value-observing,Ios,Swift,Uialertview,Key Value Observing,我想检测系统警报视图(如应用内购买确认警报)何时出现在屏幕上。 我正在尝试向UIApplication添加键值观察者,但它不起作用 UIApplication.sharedApplication().addObserver(self, forKeyPath: "windows", options: NSKeyValueObservingOptions.allZeros, context: &myContext) 查看UIAlertViewDelegate文档。有一些方法,如willPr

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

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

查看
UIAlertViewDelegate
文档。有一些方法,如
willPresentAlertView:
didPresentAlertView:
alertView:willDismissWithButtonIndex:
,和
alertView:didDismissWithButtonIndex:
查看
UIAlertViewDelegate
文档。有一些方法,如:willPresentAlertView:,
didPresentAlertView:
alertView:willDismissWithButtonIndex:
,和
alertView:didDismissWithButtonIndex:
,这不是我想要的,但对我来说很有用

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
    }
}

这不是我想要的,但对我来说很有用

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
    }
}

更有可能的原因是iOS 8不再使用UIAlertView,因此警报不再有单独的窗口。我想问一下,您是否需要了解系统警报的具体原因?像这样监视系统弹出窗口是非常不规则的。我想开始设置微调器的动画,当警报弹出窗口停止设置动画时。看看这个:也许它可以帮助您:[[1]:更有可能是因为iOS 8不再使用UIAlertView,因此警报不再有单独的窗口。我想问一下,您是否有任何特定的原因需要了解系统警报?像这样监视系统弹出窗口是非常不规则的。我想开始设置微调器动画,并在警报弹出窗口停止动画时设置动画。拍摄看看这个:也许它可以帮助您:[[1]:在swift 5:NotificationCenter.default.addObserver(self,selector:#selector(applicationWillResignActive),name:UIApplication.WillResignActification,object:nil)在swift 5:NotificationCenter.default.addObserver(self,selector:#selector(applicationWillResignActive),name:UIApplication.WillResignActification,object:nil),名称:UIApplication.willResignActiveNotification,对象:nil)