iOS 目前 Viewcontroller 黑屏
iOS Present Viewcontroller getting black screen
我正在尝试展示 ViewController 我用 StoryBoards 创建的:
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];
但是黑屏。可能是什么问题?
AuthViewController
的 ViewController 是否出现在 Storyboard
中?如果是,那么你应该传递一个 Storyboard ID
并且应该以这种方式启动你的 AuthViewController
:
AuthViewController *authViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"_STORYBOARD_ID_"];
希望对您有所帮助。
Alloc init AuthViewController
并不意味着将为控制器创建视图布局。
此处视图控制器未加载其视图,这就是您出现黑屏的原因。使用故事板对象和视图控制器的标识符来加载它的视图。
在 AuthViewController
控制器的情节提要中指定情节提要标识符。
为 Use Storyboard ID
选项添加 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];
我的问题是 class,例如故事板中的 AuthViewController 是一个简单的 UIViewController,而在我的 swift class 中它是一个 UITabBarController。这就是为什么它没有渲染任何东西。
愚蠢的错误,但我希望我能为某人节省一些时间。
我正在尝试展示 ViewController 我用 StoryBoards 创建的:
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];
但是黑屏。可能是什么问题?
AuthViewController
的 ViewController 是否出现在 Storyboard
中?如果是,那么你应该传递一个 Storyboard ID
并且应该以这种方式启动你的 AuthViewController
:
AuthViewController *authViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"_STORYBOARD_ID_"];
希望对您有所帮助。
Alloc init AuthViewController
并不意味着将为控制器创建视图布局。
此处视图控制器未加载其视图,这就是您出现黑屏的原因。使用故事板对象和视图控制器的标识符来加载它的视图。
在 AuthViewController
控制器的情节提要中指定情节提要标识符。
为 Use Storyboard ID
选项添加 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];
我的问题是 class,例如故事板中的 AuthViewController 是一个简单的 UIViewController,而在我的 swift class 中它是一个 UITabBarController。这就是为什么它没有渲染任何东西。
愚蠢的错误,但我希望我能为某人节省一些时间。