您的位置:首页 > 移动开发 > IOS开发

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

2013-03-30 14:31 288 查看
参考文章: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 这个宏定义,我多数用在比较个性化的调整上。例如一些的弹出效果之类。得根据这个参数进行调整。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息