iOS 7 3.5"vs 4"将内容移出屏幕

Bac*_*zen 2 iphone xcode objective-c storyboard ios

我正在准备一个应用程序,用于启动并通过XCode 5中的iPhone 4(3.5英寸屏幕)和iPhone 5(4英寸屏幕)进行iOS 7测试.我遇到的问题是iPhone 4的内容,特别是底栏(带条形项)不可见.

我可以看到它的唯一方法是在我跑步之前,转到故事板,并将大小从"推断"更改为视网膜3.5".我的解决方案是创建两个故事板,一个用于3.5",一个用于4"?

否则,以编程方式检测设备并向上或向下移动内容会更有意义吗?

 CGSize screenSize = [[UIScreen mainScreen] bounds].size;

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
if (screenSize.height > 480.0f) {
    /*Do iPhone 5 stuff here.*/
} else {
    /*Do iPhone 4 stuff here.*/
}
 } else {
/*Do iPad stuff here.*/
 }
Run Code Online (Sandbox Code Playgroud)

Joe*_*her 5

理论上你可以走这条路线,但更好的方法是在故事板中使用自动布局.进入故事板,并选中文件检查器中的"使用Autolayout"复选框.然后在故事板中选择布局,然后转到Editor -> Resolve Auto Layout Issues -> Reset to suggested constraints for _____

请注意,您可能需要对它们给出的约束进行一些调整,以确保所有内容都出现在您想要的位置.为此,Apple关于自动布局的文档将有所帮助.