使应用程序与iPhone 4和iPhone 5兼容,而无需设置不同的帧大小

时间:2013-04-23 06:00:30

标签: iphone ios ios5 ios6

今天我要创建一个兼容iphone4和iphone5的iphone应用程序。之前我通过使用以下代码调整iphone5的控制器,以编程方式改变了iphone4应用程序视图。

 CGRect screenBounds = [[UIScreen mainScreen] bounds];
 if (screenBounds.size.height == 568) {
 // code for iphone5
 }
 else {
 // code for iphone4
 }

我认为很难每次都跟踪控制器的所有帧和大小。我创建了一个示例应用程序,并尝试使用自动调整大小选项(我已经选中了复选标记)在视图的开头,并在检查器中选择了大小的Retina 4全屏。并且还选择了模拟器硬件设备是iphone Retina-4英寸

selected for iphone5

如果我改变模拟器硬件设备是iphone Retina-3.5英寸然后屏幕看起来像

selected for iphone4

我的问题是没有设置框架我怎样才能实现这个问题。 请帮我。 提前致谢。

3 个答案:

答案 0 :(得分:4)

您可以使用此链接进行自动调整

http://blog.mugunthkumar.com/coding/supporting-the-iphone-5/

答案 1 :(得分:1)

而不是给static个数字给出dynamically帧。意味着不是给320给self.view.frame.size.width,所以你不需要检查设备,只需要添加默认的启动画面。

答案 2 :(得分:0)

使用XCode版本4.x中提供的Autolayout功能可以轻松解决您的问题。 通过以下链接: -

http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

通过使用Autolayout应用一些约束,您的问题可以轻松解决。 快乐编码:)