iPhone6 分辨率与适配

移动开发 iOS
面对4个分辨率的iPhone,建议使用Auto Layout布局 + Image Assets管理各个分辨率的图片 + Interface Builder(xib+storyboard)构建UI,Size Classes在低版本iOS系统的表现未知。想要这套手动适配方案,起码你的工程需要部署在iOS6+,还不用AutoLayout布局的会死的蛮惨。

分辨率和像素

经新xcode6模拟器验证(分辨率为pt,像素为真实pixel):

  1. iPhone5分辨率320x568,像素640x1136,@2x
  2. iPhone6分辨率375x667,像素750x1334,@2x
  3. iPhone6 Plus分辨率414x736,像素1242x2208,@3x,(注意,在这个分辨率下渲染后,图像等比降低pixel分辨率至1080p(1080x1920))

PaintCode做了几个图讲解的非常明了

自动适配

不处理时自动等比拉伸,如果在老工程打印屏幕frame,依然是320x568
对比自动适配的和***适配的导航栏就能看出问题:

因为拉伸所以会有一些虚,导航栏明显比64要大,但相比3.5寸到4寸的留黑边还是好很多。
如何关闭自动适配方案呢?这个还是老思路,换启动图:

除了换启动图外,不得不说的是,新Xcode中可以使用一个xib来设置启动图:

不过这个xib不能关联任何的代码(不能自定义View的Class,不能IBOutlet,不能加Object),可以理解成这个xib就是一张截图,这个方案的好处在于可以使用到Size Classes来针对不同屏幕布局这个xib(感兴趣可以看《Size Classes初探》)

关于手动适配

只要手动指定了启动图或者那个xib,屏幕分辨率就已经变成应有的大小了,老代码中所有关于写死frame值的代码通通倒霉,如果去手动适配就要全部适配,建议在找到个可行方案前先不要做修改,自动适配方案还算不影响使用。

面对4个分辨率的iPhone,建议使用Auto Layout布局 + Image Assets管理各个分辨率的图片 + Interface Builder(xib+storyboard)构建UI,Size Classes在低版本iOS系统的表现未知。想要这套手动适配方案,起码你的工程需要部署在iOS6+,还不用AutoLayout布局的会死的蛮惨。

关于Xcode6

  1. 模拟器路径被换成了 ~/Library/Developer/CoreSimulator/Devices/
  2. xcode6中已经找不到iOS6的模拟器了,是时候说服大家放弃iOS7-了
  3. 现在起提交App Store强制需要支持64位,是时候梳理一遍所有依赖的第三方lib,更新到64位
责任编辑:闫佳明 来源: blog.sunnyxx.com/
相关推荐

2017-05-04 21:15:30

Android分辨率

2011-05-30 08:42:56

Android

2023-02-16 07:30:55

图形编辑器屏幕开发

2014-07-08 11:10:39

移动端分辨率适配

2014-08-07 15:06:45

Android设备分辨率

2014-09-29 10:08:34

2015-02-11 09:35:09

iPhone6

2014-09-15 21:51:40

2017-04-10 09:17:08

神经网络分辨率像素递归

2014-11-05 10:45:20

iPhone6苹果弯曲

2011-08-16 17:57:51

linux修改分辨率

2017-06-13 12:57:42

Windows 10Windows分辨率

2018-07-12 10:08:31

图像超分辨率重建技术原理

2021-01-20 11:14:47

人工智能算法技术

2012-01-05 16:08:57

佳能激光打印机

2009-11-27 13:03:42

SUSE FAQ修改X

2024-07-05 10:41:30

目标检测算法

2013-05-21 14:15:23

Android游戏开发屏幕分辨率

2014-11-11 13:46:34

易代账

2023-10-27 08:30:52

传输接口刷新率
点赞
收藏

51CTO技术栈公众号