美文网首页
获取当前显示的VC

获取当前显示的VC

作者: 圆木鱼 | 来源:发表于2016-10-18 17:36 被阅读0次
@interface AppDelegate (visibleVC)
// 获取当前展示的vc
- (UIViewController *)visibleViewController;

@end
@implementation AppDelegate (visibleVC)

- (UIViewController *)visibleViewController {
    UIViewController *rootViewController = self.window.rootViewController;
    return [self getVisibleViewControllerFrom:rootViewController];
}

-(UIViewController *) getVisibleViewControllerFrom:(UIViewController *) vc {
    if ([vc isKindOfClass:[UINavigationController class]]) {
        return [self getVisibleViewControllerFrom:[((UINavigationController *) vc) visibleViewController]];
    } else if ([vc isKindOfClass:[UITabBarController class]]) {
        return [self getVisibleViewControllerFrom:[((UITabBarController *) vc) selectedViewController]];
    } else {
        if (vc.presentedViewController) {
            return [self getVisibleViewControllerFrom:vc.presentedViewController];
        } else {
            return vc;
        }
    }
}

@end

相关文章

网友评论

      本文标题:获取当前显示的VC

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