iPhone4 兼容 iPhone 5 需要注意的地方

本文介绍了将项目从iPhone 4屏幕兼容到iPhone 5时需要注意的事项,包括添加Default-568h@2x.png启动图,处理XIB的Autolayout错误,以及使用MAIN_SCREEN_HEIGHT宏定义进行个性化调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:http://www.dapps.net/dev/books/iphone-dev-iphone-5-iphone-4-s-screen.html

手上的项目需要从iPhone 4 向 iPhone 5 屏幕作兼容,也总结了一点点的经验,在这里记录一下。


首先我们认识一下 扩展名为 .pch 的文件

 Hello World_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表。xcode将编译这些头到文件,这将减少你在选择Build 或Build and Go时编译项目的时间。通常用到的头文件已经自动包含了pch,系统编译每个cpp文件前,都会先include这个文件。这样就节省了添加include的时间,相当于加速编译
还有就是可以再这里面放入宏,在整个工程中都可以用

让我们来新建一个宏,以获得当前设备屏幕的相关参数。

// 判断是否为 iPhone
#define IS_IPHONE5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size)

// 设备屏幕高
#define MAIN_SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

// 当前设备分辨率
[[UIScreen mainScreen] currentMode].size

因为我主要的调整主要集中在 iPhone5(640 x1136)屏幕比iPhone 4(640 x960)多出176像素。


1、你需要添加一个640 x1136 的png图片(Default-568h@2x.png) 作为您的应用在4英寸屏的默认启动图像。


2、设置原有的XIB或者新建XIB的时候(看图)


注意:IOS5 Autolayout 引发的错误 Could not instantiate class named NSLayoutConstraint


按照我初试使用,只要TableView或者Toolbar贴到底边上,那么它自动的就适应了 iPhone 4 与 iPhone 5的屏幕。不过我确实遇到一个很古怪的问题,一切旧版本XCODE建的XIB文件,就算所有的都设置好,都会发生错位。我摸出最简单的解决这一问题的方法就是。。。。。用新版的XCODE重建。


MAIN_SCREEN_HEIGHT 这个宏定义,我多数用在比较个性化的调整上。例如一些的弹出效果之类。得根据这个参数进行调整。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值