iOS14.2 获取top viewcontroller

  • Post author:
  • Post category:其他


- (UIViewController *)mx_topVC
{
    UIWindow *kW = nil;
    if (@available(iOS 13.0, *)) {
        for (UIWindowScene* windowScene in [UIApplication sharedApplication].connectedScenes)
        {
            if (windowScene.activationState == UISceneActivationStateForegroundActive)
            {
                kW = windowScene.windows.firstObject;

                break;
            }
        }
    }else{
        kW = [UIApplication sharedApplication].keyWindow;
    }
    
    UIViewController *topViewController = [kW rootViewController];
    
    while (true) {
        if (topViewController.presentedViewController)
        {
            topViewController = topViewController.presentedViewController;
            
        } else if ([topViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)topViewController topViewController])
        {
            topViewController = [(UINavigationController *)to



版权声明:本文为u011160254原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。