iOS 判断当前窗口是哪一个页面

当编写代码时,不论是在TabbarController还是在Viewcontroller或者是NavagationController中任何一个页面写方法时,我们都可以使用以下方法获取程序正在展示的当前页

方法的声明:
-(UIViewController*) currentViewController;  

方法的调用:
-(UIViewController*) findBestViewController:(UIViewController*)vc {  
      
    if (vc.presentedViewController) {  
          
        // Return presented view controller  
        return [self findBestViewController:vc.presentedViewController];  
          
    } else if ([vc isKindOfClass:[UISplitViewController class]]) {  
          
        // Return right hand side  
        UISplitViewController* svc = (UISplitViewController*) vc;  
        if (svc.viewControllers.count > 0)  
            return [self findBestViewController:svc.viewControllers.lastObject];  
        else  
            return vc;  
          
    } else if ([vc isKindOfClass:[UINavigationController class]]) {  
          
        // Return top view  
        UINavigationController* svc = (UINavigationController*) vc;  
        if (svc.viewControllers.count > 0)  
            return [self findBestViewController:svc.topViewController];  
        else  
            return vc;  
          
    } else if ([vc isKindOfClass:[UITabBarController class]]) {  
          
        // Return visible view  
        UITabBarController* svc = (UITabBarController*) vc;  
        if (svc.viewControllers.count > 0)  
            return [self findBestViewController:svc.selectedViewController];  
        else  
            return vc;  
          
    } else {  
          
        // Unknown view controller type, return last child view controller  
        return vc;  
          
    }  
      
}  
  
-(UIViewController*) currentViewController {  
      
    // Find best view controller  
    UIViewController* viewController = [UIApplication sharedApplication].keyWindow.rootViewController;  
    return [self findBestViewController:viewController];  
      
}  

判断是哪一个页面:
UIViewController * viewControllerNow = [self currentViewController];  
    if ([viewControllerNow  isKindOfClass:[XXXViewController class]]) {   //如果是页面XXX,则执行下面语句  
   XXXXXX      
 } 

君凯商联网-iOS-字唐名僧



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