我的应用程序的4.7和5.5英寸故事板未在运行时使用。我在这里已经阅读了几个关于支持iPhone 6和6 Plus以及我们如何包含启动屏幕文件的问题,以便系统知道我们支持新的屏幕尺寸。但是,在包含启动屏幕并在xcassettes中包含LaunchImage文件之后,我的应用程序仍将从我的4.0英寸故事板文件中拉出并扩展这些布局。我也在使用自动布局和大小类。我究竟做错了什么?还有其他人遇到过这个问题并解决了吗?我已经完成了其他问题的答案已在此处指示,但我仍然无法让我的应用程序使用iPhone 6的正确故事板。我附上了用于在不同设备的故事板之间进行选择的代码。
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
UIStoryboard *storyboard;
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width *scale, result.height *scale);
if (result.height == 960) {
storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *mainViewController960 = [storyboard instantiateInitialViewController];
[self.window setRootViewController:mainViewController960];
}else if (result.height == 1136) {
storyboard = [UIStoryboard storyboardWithName:@"Storyboard4.0" bundle:nil];
UIViewController *mainViewController1136 = [storyboard instantiateInitialViewController];
[self.window setRootViewController:mainViewController1136];
}else if (result.height == 1334) {
storyboard = [UIStoryboard storyboardWithName:@"Storyboard4.7" bundle:nil];
UIViewController *mainViewController1334 = [storyboard instantiateInitialViewController];
[self.window setRootViewController:mainViewController1334];
}else if (result.height == 2208) {
storyboard = [UIStoryboard storyboardWithName:@"Storyboard55" bundle:nil];
UIViewController *mainViewController2208 = [storyboard instantiateInitialViewController];
[self.window setRootViewController:mainViewController2208];
}