iOS6和iOS7代码的适配(1)
来源:互联网 发布:结对编程 英文 编辑:程序博客网 时间:2024/06/05 03:06
苹果的iOS7推出后,对于所有的应用来说都提出了一个天然的需求——适配不同版本的SDK。目前来说,用iOS6的SDK生成的应用,可以在iOS7的系统上跑,UI上也保持了原来的风格样式,这是苹果做的向下兼容,不过不要小看苹果推行iOS7的决心——苹果发布消息,2014年2月1日开始,AppStore上不接受不是Xcode5的提交。
这样,苹果给所有的开发者留下的就是华山一条路了——升级你的系统吧,Mac10.9都免费发布了,你还要闹哪样?!
虽然每版SDK的推出都会有适配的问题,但个人感觉这次iOS7的SDK的变化是最大的。为了适配iOS7,每个应用都需要做一些事情:
1. icon的变化
iOS7的图标和原先也有变化,这点在Xcode5里面体现的很清楚。
iPhone上来说,需要增加120X120的图标;iPad上来说,需要增加76X76和152X152的图标。并且图标风格推荐和iOS7尽量贴近,苹果仍然会帮你做圆角化(圆角的半径不同了),但阴影效果等不会帮做了。(设计表示躺枪啊)
官方有一份文档可以参考:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27
2. 启动界面
启动界面需要增大一些,把原先的status bar的区域加进去。如果原先你的设计就是全屏的,这一步就可以省略了。
3. Retina和4寸屏幕的支持
目前的应用这个应该都有支持了吧,如果你不支持iPhone5的话,AppStore上已经不能提交了。
4.调整layout
由于status bar的原因,坐标计算的原点有变化,很多时候会发现UI上有不少重叠的现象,这个就需要调整了。由于同时要适应iOS6和iOS7,这个调整相应也有一些难度。
苹果官方推荐使用autolayout来帮助做自动的适应(3.5寸和4寸的屏幕)。iOS7里面的autolayout功能说增强了不少,以前我也不愿意使用这个功能,以后的应用中打算试试。
5. Bar Button
Bar Button是指那些系统预设的用在Toolbar或者NavigatorBar上的按钮,UI上有明显改变,大小也有一定的变化,tintColor也变成了barTintColor。
6. 其他UI的细节
UI的变化真的很多,大的框架不会变化,但各处细节改变很多,这个也没法穷举了,打算后面慢慢总结,把自己遇到的分享出来。
iOS6的应用运行在iOS7的系统上时,会模拟出一个iOS6的环境,所以应用仍然会拟物化的显示,UI的控件也都显示iOS6的风格。不过苹果官方说这样效率较低,不建议这么做,目前的情况时过渡,相信会逐渐减少。
不过我iOS6的应用也可以在iOS7系统上运行时也出现过异常。异常是在progressView上出现的,在界面上显示和iOS7一样很细,解决方法是在代码里把frame显式指定了一下。
iOS系统的判定,这个可以通过[[[UIDevice currentDevice] systemVersion] floatValue]来获得。
- iOS6和iOS7代码的适配(1)
- iOS6和iOS7代码的适配(1)
- iOS6和iOS7代码的适配(1)
- iOS6和iOS7代码的适配(1)
- iOS6和iOS7代码的适配(1)
- iOS7 和iOS6的屏幕适配
- iOS6和iOS7的简单适配
- IOS6和IOS7的适配问题
- iOS6和iOS7代码的适配(3)——坐标适配
- iOS6和iOS7代码的适配(3)——坐标适配
- iOS6和iOS7代码的适配(3)——坐标适配
- iOS6和iOS7代码的适配(3)——坐标适配
- iOS6和iOS7代码的适配(2)——status bar
- iOS6和iOS7代码的适配(4)——tableView
- iOS6和iOS7代码的适配(5)——popOver
- iOS6和iOS7代码的适配(2)——status bar
- iOS6和iOS7代码的适配(2)——status bar
- iOS6和iOS7代码的适配(4)——tableView
- Linux:使用ulimit设置文件最大打开数<转>
- 二叉树的各种实现(创建,叶子结点数,是否为堆,完全二叉树,二叉查找树,交换左右孩子)
- Android实战技术:ListView刷新的顺序问题
- char*和wchar*转换多字节字符串与UNICODE字符串转换
- IO总结
- iOS6和iOS7代码的适配(1)
- 说说yii 图表插件
- Java OCR 图像智能字符识别技术,可识别中文
- 搜索引擎的未来在哪里
- java操作excel
- 泛型
- myeclipse6.5中使用Alt+/不自动提示的修改
- lua使用table问题
- Git 内部原理