如果,我们有两个控制器,第一个控制器是MainController,它是与Main.storyboard相关联的。第二个控制器是myController。假设myController中有一个退出按钮,点击退出按钮从myController返回到MainController,特别注意的是,下面写法是错误的:
self.view.window.rootViewController = [[MainController alloc] init];
因为这样去切换一个和storyboard文件相关联的控制器的话,他不会主动去加载storyboard文件。正确的切换方法是:
UIStoryboard *storyboard =
[UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *mainVc = [storyboard instantiateInitialViewController];
self.view.window.rootViewController = mainVc;
如果Main.storyboard中有多个Controller,我们可以给我们要加载的那个控制器设置一个Identifier,假设为"IDmain"。我们可以按照如下方式加载:
UIStoryboard *storyboard =
[UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *mainVc =
[storyboard instantiateViewControllerWithIdentifier:@"IDmain"];
self.view.window.rootViewController = mainVc;