applicationDidBecomeActive

applicationDidBecomeActive

如何确定applicationDidBecomeActive中当前有哪个 Controller /窗口?例如,在登录屏幕(这是LoginViewController)上,如果applicationDidBecomeActive触发,我怎么知道它是来自appDelegate的登录屏幕?

最佳答案

传递给UIApplicationapplicationDidBecomeActive对象具有windows属性。这是可见窗口的NSArray,顺序排列为从前到后。

有了前景窗口后,就可以获取第一个 subview 并测试其类型:

if ([[foregroundWindow.subviews objectAtIndex:0] class] == [LoginViewController.view class]) {
    ...
}

10-08 02:38