PushViewController导致黑屏

use*_*841 12 iphone xcode objective-c

SettingsViewController *viewController = [[SettingsViewController alloc] init];
    [[self navigationController] pushViewController:viewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

在NavigationController中使用此代码时,显示的场景只是一个黑屏.在故事板中,它显示内容但不会显示在手机上.

shi*_*vam 18

试试这个:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
SettingsViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"setting"];
[self.navigationController pushViewController:viewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

将settingviewcontroller的标识符设置为"setting"

  • 不是使用硬编码名称来获取故事板,而是可以使用`self.navigationController.storyboard`获取navController来自的故事板并消除第一行. (5认同)

Vis*_*hal 1

用这个:

SettingsViewController *viewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:[NSBundle mainBundle]]; 
[[self navigationController] pushViewController:viewController animated:YES];
Run Code Online (Sandbox Code Playgroud)