我需要在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故事板,因此看起来很糟糕。这里有什么我想念的吗?谢谢!
答案 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
}