找到当前显示的viewController

2016-11-18  本文已影响22人  路这么长
- (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;
}
上一篇下一篇

猜你喜欢

热点阅读