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];  

        } 

 

你可能感兴趣的:(controller)