iPhone 6和6 Plus故事板未被使用

时间:2015-09-25 16:59:02

标签: ios xcode iphone-6 iphone-6-plus

我的应用程序的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];

    }

1 个答案:

答案 0 :(得分:0)

“包含”启动画面是不够的。您必须在应用目标编辑器的常规窗格中告诉您的应用使用启动屏幕:

enter image description here

如果您的目标编辑器看起来不那样,那么您就不会使用启动屏幕。

此外,请注意,有时只需的iPhone 6或6 Plus 缩放 - 这是可以在“设置”应用中进行的设置。