美文网首页
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