0

今天我将创建一个与 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 inch

为iphone5选择

如果我更改模拟器硬件设备是 iphone Retina-3.5 英寸,那么屏幕看起来像

为 iphone4 选择

我的问题是没有设置框架我怎么能解决这个问题。请帮我。提前致谢。

4

3 回答 3

4

您可以使用此链接自动调整大小

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

于 2013-04-23T06:16:13.843 回答
1

而不是给static数字给框架dynamically。意味着不要给 320 给self.view.frame.size.width所以你不需要检查设备,只需要添加默认启动屏幕。

于 2013-04-23T06:04:12.000 回答
0

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

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

通过使用 Autolayout 应用一些约束,您的问题可以很容易地得到解决。快乐编码:)

于 2013-04-23T06:14:40.003 回答