获取顶部控制器的方法

来源:互联网 发布:pe系统网络组件下载 编辑:程序博客网 时间:2024/06/06 01:22

+ (UIViewController*)getTopViewController {

   UIViewController *result =nil;

   

   UIWindow * window = [[UIApplicationsharedApplication]keyWindow];

   if (window.windowLevel !=UIWindowLevelNormal) {

       NSArray *windows = [[UIApplication sharedApplication]windows];

       for(UIWindow * tmpWinin windows) {

           if (tmpWin.windowLevel ==UIWindowLevelNormal) {

               window = tmpWin;

               break;

           }

       }

   }

   

   UIView *frontView = [[windowsubviews] objectAtIndex:0];

   id nextResponder = [frontViewnextResponder];

   

   if ([nextResponderisKindOfClass:[UIViewControllerclass]]) {

       result = nextResponder;

    }else {

        result = window.rootViewController;

   }

   

   return result;

}

0 0