如何适配新的iPhone 5分辨率

来源:互联网 发布:常用应用的端口号 编辑:程序博客网 时间:2024/06/06 18:42

以下大家友情支持一下:

做了一个产品,需要人气支持一下,android和iphone上91市场搜索#super junior粉丝团#,或者直接到页面下载http://m.ixingji.com/m.html?p=X16,大家帮忙捧捧场。


昨天安装了Xcode 4.5 Golden Master版本,也见到了4.0寸的iPhone 5模拟器。开发者需要做什么才可以保证旧的应用可以运行在iPhone 5上呢?


必须要做的事情

你需要一个名为Default-568h@2x.png的启动画面,568h表示568个点的高度。你不需要无@2x后缀的png文件,因为iPhone 5是DPI 326的Retina屏幕。


什么也不做

如果什么也不做,iPhone 5多出来的88个点的高度,会被均分2份。屏幕的上下是黑边,中间是应用。有传言说上下两部分可能被苹果放广告条,不过我不信。


如果只打算支持iOS 6
你可以省去很多麻烦,但会失去很多用户。我建议开发者朋友们至少在明年4月左右再考虑以iOS 6作为基准。如果面向的是中国区用户,那么这个时间还得往后推迟。

你可以利用iOS 6新增了一个特性:Auto Layout。你不需要硬编码,只需要指定相对位置。而且Auto Layout在Interface Builder里也有完整的支持。


兼容iOS 4.3+的设备

Xcode 4.5 GM版本的最低Deploy Target是4.3,以前的设备不需要考虑了。如果应用使用的是UITabBar/UINavigationBar这些标准控件,那么只需要指定view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;即可(也可以在Interface Builder里面设置)。利用这个resizing mask,可以使内容自动向两边和上下填充。


我没有使用标准控件

我一样要面对这个问题。我没有想出好办法,目前只是在viewDidLoad里面,在运行时覆盖掉xib文件的坐标设置。我建议你使用[[UIScreen mainScreen] bounds],利用一个方法返回frame的height,并把它封装在一个singleton中。接着Find/Replace掉所有的硬编码的480(记得Preview)。


需要面对的更多问题

不管使用哪一种方法,我相信这做起来不容易。为了达到更好的体验,很多应用定制了一些控件。赶快与你的设计师沟通,确定哪些UI资源是需要改的。我建议由工程师来引导并推动这个事情。(如果你是个今天就可以推动这件事情进展的设计师,请与我联系,很高兴认识你。)


游戏怎么办

游戏的问题可能更复杂,这取决于你的产品。我最近没有制作游戏,但我根据订阅的RSS Feed获得的信息,cocos2d-iPhone,cocos2d-x都已经发布了最新的develop-branch来解决这个问题。建议第一时间去相关的社区获得信息,作出应对。


拥抱变化
软件开发唯一的不变就是变化。每次变化是让你的产品脱颖而出的相会,也是暴露团队问题的机会。不管你需要维护多少产品,如果在15-30天内还搞不定这些事情,你可能更要担心的是工作流程、沟通方式和团队寿命。