iOS现在Viewcontroller获取黑屏

我正在尝试使用StoryBoards创建的ViewController:

AuthViewController *authViewController = [[AuthViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:authViewController]; UIViewController *vc = [[[[UIApplication sharedApplication] windows] firstObject] rootViewController]; [vc presentViewController:nav animated:YES completion:nil]; 

但是用黑屏获得它。 可能是什么问题?

Alloc init AuthViewController并不意味着将为控制器创建视图布局。

这里视图控制器没有加载它的视图,这就是你得到黑屏的原因。 使用storyboard对象和视图控制器的标识符来加载其视图。

AuthViewController控制器的Storyboard中指定故事板标识符。

添加Storyboard ID并为Use Storyboard ID选项标记为true ,如下图所示:

在此处输入图像描述

现在使用下面的代码获取AuthViewController控制器对象:

 AuthViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"AuthViewController"]; 

你可以参考下面的故事板的片段:

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; AuthViewController *authViewController = [storyboard instantiateViewControllerWithIdentifier:@"**YOUR_STORYBOARD_ID**"]; [authViewController setModalPresentationStyle:UIModalPresentationFullScreen]; [self presentViewController:authViewController animated:YES completion:nil]; 

Storyboard是否存在AuthViewController的ViewController? 如果是,那么你应该传递一个Storyboard ID并以这种方式启动你的AuthViewController

 AuthViewController *authViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"_STORYBOARD_ID_"]; 

我希望这有帮助。

我的问题是类,例如故事板中的AuthViewController是一个简单的UIViewController,而在我的swift类中它是一个UITabBarController。 这就是为什么它没有渲染任何东西。

愚蠢的错误,但我希望我可以节省一些时间。