找到当前显示的viewController

- (UIViewController *)getCurrentVC 
{
        UIViewController *result = nil;
        UIWindow *window = [[UIApplication shareApplication] keyWindow];
        if (window.windowLevel != UIWindowLevelNormal)
    {
        NSArray *windows  = [[UIApplication shareApplication] windows];
        for (UIWindow *tmpWin in windows)
           {
             if (tmpWin.windowLevel == UIWindowLevelNormal) 
                  {
                   window = tmpWin;
                   break;
                  }
          }
    }
   UIView *frontView = [[window subviews]objectAtIndex:0];
   id nextResponder = [frontView nextResponder];

   if ([nextResponder isKindOfClass:[UIViewController class]])
       result = nextResponder;
   else
       result = window.rootViewController;
   
   return result;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容