首页 > Storyboard 里面如何根据条件显示最初的ViewController

Storyboard 里面如何根据条件显示最初的ViewController

如题,比如说,应用在第一次打开的时候展示介绍界面。或者在用户没用登陆的情况下, 打开app就显示登录界面。而一般情况下,打开app显示的是主界面。

如何在storyboard里面进行设置啊????

有经验的前辈求指教


当你打开Storyboard你看到的第一个箭头指的view就是你打开app时首先看到的view,你想要哪个界面第一个显示就把那个箭头拖到哪里。


请查看UIStoryboard这个类的文档,有接口实例化UIStoryboard中任何一个ViewController类,但是要在ViewController的属性中设置名称或者Storyboard ID才能用那个接口。
如果是在application:didFinishLaunchingWithOptions:方法中判断条件的话,就是把AppDelegate的window的rootViewController设置为你按条件实例化的那个实例。
最后,记得在返回YES之前调用[self.window makeKeyAndVisible];

给你一段相对比较全面的参考代码:

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil];
if (userId) {
    MyViewController *firstController = [storyBoard instantiateViewControllerWithIdentifier:@"FirstLoadingController"];
    self.window.rootViewController = firstController;
} else {
    MyViewController *firstController = [storyBoard instantiateViewControllerWithIdentifier:@"IntroductionViewController"];
    self.window.rootViewController = firstController;
}
[self.window makeKeyAndVisible];

PS: 其实还可以采用另一个方案:在检查到用户未登录的时候马上以Modal的方式加入登录的view,让用户先
完成登录操作。

【热门文章】
【热门文章】