您的位置:首页 > 移动开发

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

2015-05-07 09:50 459 查看

转载自 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];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐