美文网首页
iOS获取到展示在屏幕前的这个控制器

iOS获取到展示在屏幕前的这个控制器

作者: 西河老伯 | 来源:发表于2017-11-20 14:14 被阅读38次

    //获取到展示在屏幕前的这个控制器

    • (UIViewController *)topViewController {
      UIViewController *resultVC;
      resultVC = [self _topViewController:[[UIApplication sharedApplication].keyWindow rootViewController]];
      while (resultVC.presentedViewController) {
      resultVC = [self _topViewController:resultVC.presentedViewController];
      }
      return resultVC;
      }

    • (UIViewController *)_topViewController:(UIViewController *)vc {
      if ([vc isKindOfClass:[UINavigationController class]]) {
      return [self _topViewController:[(UINavigationController *)vc topViewController]];
      } else if ([vc isKindOfClass:[UITabBarController class]]) {
      return [self _topViewController:[(UITabBarController *)vc selectedViewController]];
      } else {
      return vc;
      }
      return nil;
      }

    //调用
    [[self topViewController].navigationController pushViewController:businessVC animated:YES];

    相关文章

      网友评论

          本文标题:iOS获取到展示在屏幕前的这个控制器

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