iOS 设备的屏幕尺寸,分辨率及其屏幕边长比例

1.从iPhone3GS开始,宽高像素点分别是320*480,屏幕尺寸3.5寸,屏幕比例4:3

2.iPhone4和4S,宽高像素点变成是640*960,但是从程序角度依然是320*480(这是因为苹果的retina显示屏的原因,在retina中,一个程序像素对应的是可见像素的两倍)屏幕尺寸3.5寸,屏幕比例4:3

3.iPhone5和5S,宽高像素点是640*1136(程序角度是320*568),屏幕尺寸4寸,屏幕比例16:9

4.iPhone6分辨率375x667点,像素750x1334 屏幕4.7寸

5.iPhone6Plus分辨率414x736点,像素1242x2208 屏幕5.5寸

典型iPhone应用程序(游戏除外),很多是上面一个导航栏,下面一个工具栏或者标签栏, 中间一大块用于显示的内容区。iPhone 5拉长了,对于程序的适配,也不算麻烦,内容区的内容基本是动态生成的。适配时候可以简单上下不变,中间的内容区拉长就行了。注意,导航栏和工具栏的高度也是44个点。下面是同一程序,在iPhone 4跟iPhone 5的对比。

AutoLayout

到了这个时候,传统绝对定位的弱点就显露出来了。这时iPhone按照点作为单位,已经出现了两种不同尺寸的屏幕,算上iPad, 就有3种尺寸(有些App可以同时兼容iPhone和iPad,称为Universal)。

从iOS 6系统发布后,iOS开发中可以采用一种AutoLayout的技术。AutoLayout就像网页一样,指定View,Button,Text之间的相对位置,比如靠左多少,靠右多少,居中多少等等。举个例子,像下面的简单布局。

假设左上角的区域为view1, 右上角的区域为view2, 下面的区域为view3。AutoLayout会说:

view1.left = 20               // View1的左边距离边界20个点view1.top = 20                // View1的上边距离边界20个点

view2.right = 20              // View2的右边距离边界20个点view2.top = 20                // View2的上边距离边界20个点view2.left = view1.left + 20  // View2的左边距离View1右边20个点view2.width = view1.width     // View1的宽度等于View2的宽度view2.height = view1.height   // view1高度等于view2高度

view3.left = view1.left       // view3的跟view1左对齐view3.right = view2.right     // view3跟view2右对齐view3.top = view1.bottom + 20 // view3的上边距离view1下边20个点view3.bottom = 20             // view3下边距离边界20个点view3.height = view1.height   // view3高度等于view1高度

指定上面的约束条件后,AutoLayout就会自动算出对应的布局。上面我写得比较繁琐,事实上很多操作都是可以使用鼠标拖拉来指定的,并不一定需要使用代码。但就算用代码,也有简写的方法。下面是在xib中,拖拉鼠标指定约束时的界面。

而绝对定位,会直接说

view1.frame = (x1, y1, width1, height1)
view2.frame = (x2, y2, width2, height2)
view3.frame = (x3, y3, width3, height3)

绝对定位并非指定约束条件,而是开发者自己来精确指定View,Button, Text等的实际坐标大小。

对于一个屏幕,绝对定位可能跟AutoLayout的区别不算大,甚至绝对定位会更方便些。但当需要同时适配多个屏幕,AutoLayout根本不需要更改。而绝对定位就需要根据屏幕大小,一个个算出来。比如横屏,在AutoLayout下面,就自动变成。

这里不过是3个控件的布局,当出现的控件数越多,屏幕尺寸越多,AutoLayout的优势就显露出来了。另外AutoLayout有个好处是容易支持多语言,不同语言下,同一个意思文字的长度是不同的,使用AutoLayout也可以自动适配。

在iOS 6的时候,AutoLayout还比较少人使用,当时屏幕尺寸还比较少。iOS 7的时候,就开始很多人使用了。而到现在iOS 8了, 更加上iPhone 6, iPhone 6 Plus需要适配,AutoLayout大势所趋,不用不行了。

iPhone 6, iPhone 6 Plus

2014年,iPhone 6, iPhone 6 Plus发布后,情况又有新的变化。再次比较所有iPhone机型。

屏幕尺寸再度分裂。但是我们比较iPhone 5 跟 iPhone 6的宽高比例。

可以看出,iPhone 6跟iPhone 5虽然屏幕尺寸改变了,但是它们的比例是不变的。都是 9 ÷ 16 = 0.5625 的屏幕。

当旧的iPhone 5程序运行在iPhone 6上面,假如没有经过适配。旧程序自动等比放大,铺满新手机,旧程序也可以正常运行。这种方案可算是自动适配。但因为旧程序拉伸了,整体看起来有点虚,也不能更好利用大屏空间。

当需要开发者手动适配的时候,跟iPhone 4过渡到iPhone 5一样,在新程序中,指定一张新的启动图片。当指定了启动图,屏幕分辨率就已经变成应有的大小,这时候利用AutoLayout进行布局,同一份代码,就可以支持多个机型。新手机的屏幕更大,有更多的虚拟点,可以显示更多的内容。

值得注意一点是,iPhone 6 Plus。它的宽高是414 × 736个点,3x模式,理想上来说,应该有1242 × 2208像素。但iPhone 6 Plus的实际像素是 1080 × 1920,是比理想值要少一点的。iPhone 6 Plus的处理方式是将程序整体稍微缩小一点。分辨率很高,这点区别,实际上也看不出来。这样处理,可以使得44个点的点击区域约束,在物理上的真实长度,基本保持不变。

时间: 2024-11-06 15:06:20

iOS 设备的屏幕尺寸,分辨率及其屏幕边长比例的相关文章

分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?

分辨率.DPI.PPI和屏幕尺寸 分辨率 DPI/PPI 坑爹的屏幕尺寸 Reference 手机开发中不免会遇到分辨率.DPI.PPI和屏幕尺寸等术语,那就弄弄清楚这些概念的真正含义. 分辨率 分辨率这个词在很多地方都有,比如相机.视频.扫描仪.这里说的就是显示器的分辨率.显示器是由一个个像素点(pixel)所组成的,一般所说的显示器分辨率是1280x720就表示这个显示器水平方向有1280个像素,垂直方向上有720个像素.但是并非分辨率越高屏幕显示效果越好,还需要根据屏幕的大小来决定.也就是

Supporting Multiple Screens(支持Android各种屏幕尺寸)

原文链接 本文翻译自Supporting Multiple Screens. 目前我这篇翻译应该是最全,最完整的官方文档翻译,转载我的翻译请联系本人,标明出处. Supporting Multiple Screens Android runs on a variety of devices that offer different screen sizes and densities. For applications, the Android system provides a consist

屏幕分辨率和屏幕像素密度

1.屏幕分辨率:屏幕水平和垂直像素个数. 2.屏幕像素密度: ppi:全称Pixels Per Inch,每英寸屏幕所拥有的像素数------->图像的采样率(在图像中,每英寸所包含的像素数目) 计算:像素密度=√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸 注:屏幕尺寸单位为英寸 例:分辨率为1280*720 屏幕宽度为6英寸 计算所得像素密度约等于245ppi dpi:全称Dots Per Inch,每英寸所打印的点数-------->打印分辨率(每英寸所能打印的点数,即打印精度)

【ios开发】 判断设备屏幕尺寸、分辨率

IOS 设备现有的分辨率如下:iPhone/iPod Touch普通屏                          320像素 x 480像素       iPhone 1.3G.3GS,iPod Touch 1.2.33:2 Retina 屏           640像素 x 960像素        iPhone 4.4S,iPod Touch 416:9 Retina 屏               640像素 x 1136像素      iPhone 5,iPod Touch 5

获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息

今天和大家一起分享下如何获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息.相信各位发现通过苹果官方开放的API想要获取当前设备以上的一些信息似乎做不到.如今苹果的硬件更新速度相当的快,还要在网上发现有有心人收集了所有已发布苹果设备的相关设备信息,且不定期回去更新.详情请见:Blake's iOS Device Specifications Grid http://www.blakespot.com/ios_device_specification

iOS:界面适配(三)--iPhone不同机型或设备不同尺寸适配(屏幕适配)和系统适配

对于不同苹果设备,各个参数查看<iOS:机型参数.sdk.xcode各版本>.        机型变化 坐标:表示屏幕物理尺寸大小,坐标变大了,表示机器屏幕尺寸变大了: 像素:表示屏幕图片的大小,跟坐标之间有个对应关系,比如1:1或1:2等: ppi:代表屏幕物理大小到图片大小的比例值,如果ppi不变,则坐标和像素的比例不会变: iPhone 4以前 iPhone.iPhone3/3G机型未采用retina,坐标是320 x 480,屏幕像素320 x 480 ,他们一一对应,1:1关系.即一

所有iOS 设备的屏幕尺寸

接下来几天,我会为大家分享一些开发中常用的资料和常识性的读物,方便一些入门的从业者学习. 所有iOS 设备的屏幕尺寸 之所以要写这么一点东西,是因为最近在做iPad开发. 屏幕适配比例.png iPhone 设备: iPhone 1G --- 320x480 iPhone 3G --- 320x480 iPhone 3GS --- 320x480 iPhone 4 --- 640x960 iPhone 4S --- 640x960 iPhone 5 --- 640x1136 iPhone 5S

ios开发的frame、物理屏幕尺寸和图片分辨率

型号 屏幕尺寸(inch) 逻辑分辨率(point) 缩放因子(scale factor) 物理分辨率(pixel) 像素密度(PPI) iPhone3GS 3.5 320 * 480 @1x 320 * 480 163 iPhone4/4s 3.5 320 * 480 @2x 640 * 960 326 iPhone5/5s 4 320 * 568 @2x 640 * 1136 326 iPhone6/6s 4.7 375 * 667 @2x 750 * 1334 326 iPhone6Plu

iPhone屏幕尺寸、分辨率及适配

目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches (62.1 mm) 4.5 inches (115.5 mm) 3.5-inch 320x480 @1x 320x480 163 4(s) 2.31 inches (58.6 mm) 4.5 inches (115.2 mm) 3.5-inch 320x480