美文网首页
ios获取当前控制器和获取顶层控制器的方法

ios获取当前控制器和获取顶层控制器的方法

作者: 在下有双 | 来源:发表于2018-06-20 10:55 被阅读0次

    1、获取当前控制器

    //获取手机当前显示的ViewController
    
      + (UIViewController*)currentViewController{
    
    UIViewController* vc = [UIApplication sharedApplication].keyWindow.rootViewController;
    
    
    
    while (1) {
        
        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;
    

    }

    2、ios获取顶层控制器

    //iOS获取顶层的控制器
    
    - (UIViewController *)appRootViewController
    
    {
    
    UIViewController *RootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
    
    UIViewController *topVC = RootVC;
    
    while (topVC.presentedViewController) {
        
        topVC = topVC.presentedViewController;
        
    }
    
    return topVC;
    

    }

    相关文章

      网友评论

          本文标题:ios获取当前控制器和获取顶层控制器的方法

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