我一直在寻找一种方法来查找当前的顶视图(包括模态视图),而在Stackoverflow上有人说这是代码:
UIView *topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
但是我想将topView与我所在的某个视图控制器(比如说FirstViewController)进行比较,以了解当前呈现的View Controller是否是这个特定的VC。 如何将ViewController与此topView进行比较?互联网上有很多不同的答案,关于使用哪些代码,我找不到任何能给我提供良好解决方案的答案。 基本上,假设我在FirstViewController.m中,如果当前顶视图是FirstViewController.m(它通过NSNotification工作,我只想提供一个警报,所以现在也提供来自FirstViewController的警报,即使我在另一个ViewController)。
使用的代码是什么?
谢谢
答案 0 :(得分:0)
我终于找到了一个可以接受的答案:
if(weakSelf.isViewLoaded && weakSelf.view.window){
//view is visible
}
这完美无缺。只有一件重要的事情:不要在viewDidLoad中使用它。 view.window在viewDidLoad中将为nil,因为它还没有被添加到应用程序窗口中。