如何确定applicationDidBecomeActive中当前有哪个 Controller /窗口?例如,在登录屏幕(这是LoginViewController)上,如果applicationDidBecomeActive触发,我怎么知道它是来自appDelegate的登录屏幕?
最佳答案
传递给UIApplication
的applicationDidBecomeActive
对象具有windows
属性。这是可见窗口的NSArray
,顺序排列为从前到后。
有了前景窗口后,就可以获取第一个 subview 并测试其类型:
if ([[foregroundWindow.subviews objectAtIndex:0] class] == [LoginViewController.view class]) {
...
}