美文网首页
获取当前屏幕显示的viewcontroller

获取当前屏幕显示的viewcontroller

作者: duanmeng | 来源:发表于2015-09-10 17:12 被阅读67次

    //获取当前屏幕显示的viewcontroller

    • (UIViewController *)getCurrentVC
      {
      UIViewController *result = nil;

      UIWindow * window = [[UIApplication sharedApplication] keyWindow];
      if (window.windowLevel != UIWindowLevelNormal)
      {
      NSArray *windows = [[UIApplication sharedApplication] 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;
      }

    相关文章

      网友评论

          本文标题:获取当前屏幕显示的viewcontroller

          本文链接:https://www.haomeiwen.com/subject/bgspcttx.html