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 的文件
让我们来新建一个宏,以获得当前设备屏幕的相关参数。
因为我主要的调整主要集中在 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 这个宏定义,我多数用在比较个性化的调整上。例如一些的弹出效果之类。得根据这个参数进行调整。
手上的项目需要从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 这个宏定义,我多数用在比较个性化的调整上。例如一些的弹出效果之类。得根据这个参数进行调整。
相关文章推荐
- 中间层驱动需要注意的地方
- 几个提升java性能需要注意的地方
- 虚函数与多态需要注意的地方
- 写正确函数需要注意的地方:奇偶数分开,左边偶数,右边奇数。
- shell中需要注意的地方
- 实现自定义page基类时需要注意的地方
- 浅谈新站优化需要注意的5个地方
- 把这些地方都注意了,你的网站就不会有那么多的兼容问题了
- 触发器中回滚中需要注意的地方
- Android AsyncTask 使用时需要注意的地方
- 项目中需要注意的地方
- 12个需要注意的规范样式写法解决浏览器兼容问题
- ren 命令在使用通配符时需要注意的地方
- c++在头文件中定义全局变量时需要注意的地方
- 关于AIDL一些需要注意的地方
- javascript中使用css需要注意的地方小结
- 一些需要注意的地方
- 需要注意的地方
- 从c++转到Python需要注意的地方
- 使用git需要注意的地方