Ipad 应用IDBECOMEATIVE电流屏

Ipad 应用IDBECOMEATIVE电流屏,ipad,uikit,Ipad,Uikit,如何确定应用程序IDBECOMEACTIVE中当前的控制器/窗口?例如,在登录屏幕(它是一个LoginViewController)上,如果ApplicationIDBecomeActive启动,我如何从appDelegate知道它是登录屏幕?传递给ApplicationIDBecomeActive的UIApplication对象具有windows属性。它是一个从后到前排列的可见窗口阵列 拥有前景窗口后,可以获取第一个子视图并测试其类型: if ([[foregroundWindow.subvi

如何确定应用程序IDBECOMEACTIVE中当前的控制器/窗口?例如,在登录屏幕(它是一个LoginViewController)上,如果ApplicationIDBecomeActive启动,我如何从appDelegate知道它是登录屏幕?

传递给
ApplicationIDBecomeActive
UIApplication
对象具有
windows
属性。它是一个从后到前排列的可见窗口阵列

拥有前景窗口后,可以获取第一个子视图并测试其类型:

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

谢谢,我可以访问它,只需查看子视图中的内容。我正在尝试遍历window.subview,但是如何确定每个子视图是什么?我不确定objective-c中是否有比较类型的方法?e、 g.如果([window.subviews objectAtIndex:0]=“LoginViewController”),我查看了类引用,但看不到是否可以访问名称类型,但看到了viewDelegate,但不知道如何检索它。objectAtIndex上的类名始终为UIView。在我的didFinishLaunchingWithOptions中,我有[WindowAddSubView:loginViewController.view]。因此,在objectAtIndex上,它的UIView是真的,因为loginViewController扩展了UIViewController,而UIViewController扩展了UIView。感觉好像我可能需要此UIView的父视图(如果存在)。Hmmm。不必比较类,您可以比较引用并查看它们是否是同一个对象:
[foregroundindow.subviews objectAtIndex:0]==LoginViewController.view
有效我可以看到UIVIew:0x[hex_here]是相同的,所以它是真的。因此,您可能需要更新您的答案。