模拟器说所有的iPad都有相同的尺寸(768 x 1024).那是对的吗?
由于设备的尺寸相同,是否可以放置100x100矩形并期望它看起来相同?或者由于规模不同,它看起来不一样吗?
请向我解释一下使用的比例尺:我是否需要调整我的矩形以计算比例?
iOS使用抽象显示比例:点.一点是1/72英寸.
迷你iPad作弊.点数实际上小于迷你的1/72英寸,但为了讨论的目的,我们将忽略它.iPad mini仍然使用点进行渲染.然而,得到的图像较小.
iOS还具有缩放属性.scale属性表示一个点中有多少个物理像素.Retina iPad的刻度为2.因此,如果您在视网膜iPad上绘制1点1点矩形,它实际上将使用2 x 2屏幕像素绘制.忽略迷你,矩形将在视网膜和非视网膜设备上显示相同的大小.每个点将在非视网膜设备上呈现为1个像素,在视网膜设备上呈现为2x2或4个像素.
视网膜设备获得优势的地方有抗锯齿曲线,对角线和连续色调图像,如渐变和全彩色图片.这些都在视网膜和非视网膜设备上以相同的比例呈现内容,但视网膜设备上有更多细节.抗锯齿在像素级别完成,因此对角线和曲线看起来更平滑,更自然.这为文本带来了很大的好处,在视网膜设备上看起来更清晰,更好.文本在视网膜和非视网膜设备上将具有相同的显示尺寸,但由于视网膜设备具有4倍的像素,因此能够以更高的分辨率呈现文本.
(照片不会神奇地在视网膜设备上获得更高的分辨率.你应该提供非视网膜和视网膜版本的图像,并用"@ 2x"后缀命名视网膜图像.)所以你可能有一个图像"花. PNG".你也提供"flower@2x.png".在您的代码中,您将使用代码
UIImage*anImage = [UIImage imageWithName:"flower"];
(如果您没有指定,则系统假定后缀为".png".)
在视网膜设备上,系统将检查文件"flower@2x.png".如果找到它,它将使用它,并假设它在每个维度中包含2倍于非视网膜图像的像素.如果找不到视网膜图像,它将使用非视网膜图像并将每个图像像素保存为4个屏幕像素,从而创建一个不那么清晰和细致的图像.对于非视网膜设备也是如此.这些设备只是忽略图像的@ 2x版本并加载常规图像.
在iPhone世界中还有iPhone 6 plus,其屏幕每点3x3像素.如果您支持iPhone和iPad,那么您需要以非视网膜分辨率,@ 2x和@ 3x提供图像.请注意,如果您只使用iPhone,则不再需要提供非视网膜图像,因为能够运行最后几个iOS版本的所有iPhone都是视网膜设备.iPhone 3Gs是最后一款非视网膜iPhone.它只能运行iOS <= iOS 6,大多数开发人员不再支持它.