ios--appDelegate切换根视图rootViewController(最常用的场合是首次启动跳至导航ViewController)

 

转载自 http://blog.csdn.net/wanggsx918/article/details/25215183

1、在appDelegate中添加一个切换的方法switchRootViewController:

 

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
    {  
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];  
              
        if ([[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {  
            //第一次启动导航页  
            NSLog(@"wanggsx:第一次启动");  
            ViewController *appStartController = [[ViewController alloc] init];  
            self.window.rootViewController = appStartController;  
            [self.window addSubview:appStartController.view];  
        }  
        else  
        {  
            //打开选择场地界面  
            [self switchRootViewController];  
        }  
        [self.window makeKeyAndVisible];  
        return YES;  
    }  
      
    //切换RootViewController  
    - (void)switchRootViewController  
    {  
        self.window.rootViewController = nil;  
        ChooseModeViewController* crBrandsViewController= [[ChooseModeViewController alloc] init];  
        UINavigationController *brandsNavigationController = [self customControllerWithRootViewController:crBrandsViewController];  
        self.viewController = brandsNavigationController;  
        self.window.rootViewController = self.viewController;  
    }  

 

 

2、在需要切换根视图的ViewController中调用appDelegate中的方法:

 

        - (IBAction)gotoMainView:(id)sender {  
            [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];  
            [(AppDelegate*)[UIApplication sharedApplication].delegate switchRootViewController];  
        } 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。