美文网首页
获取当前的ViewController

获取当前的ViewController

作者: 始白 | 来源:发表于2018-07-11 16:05 被阅读6次

获取Window当前显示的ViewController

-(UIViewController*)currentViewController{
    //获得当前活动窗口的根视图
    UIViewController* vc = [UIApplication sharedApplication].keyWindow.rootViewController;
    while (1)
    {
        //根据不同的页面切换方式,逐步取得最上层的viewController
        if ([vc isKindOfClass:[UITabBarController class]]) {
            vc = ((UITabBarController*)vc).selectedViewController;
        }
        if ([vc isKindOfClass:[UINavigationController class]]) {
            vc = ((UINavigationController*)vc).visibleViewController;
        }
        if (vc.presentedViewController) {
            vc = vc.presentedViewController;
        }else{
            break;
        }
    }
    return vc;
}

相关文章

网友评论

      本文标题:获取当前的ViewController

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