Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从情节提要实例化中有条件地设置keyWindow rootViewController在iOS7中不工作_Ios_Objective C_Uiviewcontroller_Storyboard_Uiapplication - Fatal编程技术网

从情节提要实例化中有条件地设置keyWindow rootViewController在iOS7中不工作

从情节提要实例化中有条件地设置keyWindow rootViewController在iOS7中不工作,ios,objective-c,uiviewcontroller,storyboard,uiapplication,Ios,Objective C,Uiviewcontroller,Storyboard,Uiapplication,我有一个应用程序的登录名,因此我需要根据他们是否保存了身份验证,有条件地设置keyWindowrootViewController。如果有身份验证,则显示选项卡控制器,如果没有,则显示登录视图 在我的故事板中我设置了一个虚拟视图作为初始视图控制器,然后在VC的viewDidLoad中,我有以下逻辑: if (showTab) { UITabBarController *rootViewController = [self.storyboard instantiateViewContro

我有一个应用程序的登录名,因此我需要根据他们是否保存了身份验证,有条件地设置
keyWindow
rootViewController
。如果有身份验证,则显示
选项卡控制器
,如果没有,则显示登录视图

在我的
故事板中
我设置了一个虚拟视图作为初始视图控制器,然后在VC的
viewDidLoad中,我有以下逻辑:

if (showTab) {

    UITabBarController *rootViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ZSSTabBarController"];
    [[UIApplication sharedApplication].keyWindow setRootViewController:rootViewController];

} else {

    ZSSLogin *login = [self.storyboard instantiateViewControllerWithIdentifier:@"ZSSLogin"];
    [[UIApplication sharedApplication].keyWindow setRootViewController:login];

}//end
我正在从我的<代码>情节提要
中实例化ViewController,这似乎很简单。但是,由于某些原因,这在
iOS7
中不起作用,只在
iOS8
中起作用。当尝试在
iOS7
上加载登录屏幕时,我只得到了一个空白视图,假设它仍然显示虚拟VC,并且从未用登录视图替换它

为什么这在
iOS7
上不起作用,但在
iOS8
上效果很好?是什么改变了8年来的工作