使用2个故事板用于不同的屏幕尺寸Xcode 5 iOS 7

时间:2013-10-29 01:31:23

标签: iphone xcode ios7 storyboard

我需要在Xcode 5中为我的iOS 7应用程序创建2个故事板。我需要一个用于4英寸屏幕的故事板和一个用于3.5英寸的故事板,因为自动布局不适用于此应用程序。我有一个标题为“iPhone_3.5”和一个标题为“主要”。我在AppDelegate.m中添加了以下代码:

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:@"iPhone_3.5.storyboard" bundle:nil];
        UIViewController *initViewController = [storyBoard instantiateInitialViewController];
        [self.window setRootViewController:initViewController];

    }

}

但是当我在iPhone 4上启动应用程序时,它仍会显示iPhone 5故事板,因此看起来很糟糕。这里有什么我想念的吗?谢谢!

1 个答案:

答案 0 :(得分:2)

我正在使用storyBoardWithName切换故事板:与你的相同的捆绑包但我没有在字符串参数中包含扩展名'.storyboard'。也许你可以尝试一下。 Xcode可能无法找到storyboard文件,因此它会加载Main.storyboard的默认文件。另一件事是你的平等。也许你可以改用它。

if([UIScreen mainScreen].bounds.size.height>=568) {
       // load iPhone 4 inch storyboard.
} else {
     // load iPhone 3.5 inch storyboard
}