iOS - 将当前顶视图与另一个视图进行比较

时间:2014-11-30 15:30:27

标签: ios uiview modalviewcontroller

我一直在寻找一种方法来查找当前的顶视图(包括模态视图),而在Stackoverflow上有人说这是代码:

UIView *topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];

但是我想将topView与我所在的某个视图控制器(比如说FirstViewController)进行比较,以了解当前呈现的View Controller是否是这个特定的VC。 如何将ViewController与此topView进行比较?互联网上有很多不同的答案,关于使用哪些代码,我找不到任何能给我提供良好解决方案的答案。 基本上,假设我在FirstViewController.m中,如果当前顶视图是FirstViewController.m(它通过NSNotification工作,我只想提供一个警报,所以现在也提供来自FirstViewController的警报,即使我在另一个ViewController)。

使用的代码是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

我终于找到了一个可以接受的答案:

if(weakSelf.isViewLoaded && weakSelf.view.window){
//view is visible
}

这完美无缺。只有一件重要的事情:不要在viewDidLoad中使用它。 view.window在viewDidLoad中将为nil,因为它还没有被添加到应用程序窗口中。