获取当前屏幕显示的viewcontroller

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取当前屏幕显示的viewcontroller相关的知识,希望对你有一定的参考价值。

 1 //获取当前屏幕显示的viewcontroller
 2 - (UIViewController *)getCurrentVC
 3 {
 4     UIViewController *result = nil;
 5     
 6     UIWindow * window = [[UIApplication sharedApplication] keyWindow];
 7     if (window.windowLevel != UIWindowLevelNormal)
 8     {
 9         NSArray *windows = [[UIApplication sharedApplication] windows];
10         for(UIWindow * tmpWin in windows)
11         {
12             if (tmpWin.windowLevel == UIWindowLevelNormal)
13             {
14                 window = tmpWin;
15                 break;
16             }
17         }
18     }
19     
20     UIView *frontView = [[window subviews] objectAtIndex:0];
21     id nextResponder = [frontView nextResponder];
22     
23     if ([nextResponder isKindOfClass:[UIViewController class]])
24         result = nextResponder;
25     else
26         result = window.rootViewController;
27     
28     return result;
29 }

 

以上是关于获取当前屏幕显示的viewcontroller的主要内容,如果未能解决你的问题,请参考以下文章

UI基础 获取当前屏幕显示的viewcontroller

iOS开发——获取当前屏幕显示的viewcontroller

获取当前显示的ViewController

iOS开发 - 获取当前View最顶层的ViewController

iOS开发 - 获取当前View最顶层的ViewController

获取当前控制器