,
尺寸
图像的尺寸,考虑了方向。 (只读)
@property(nonatomic, readonly) CGSize size
讨论
在iOS 4.0及更高版本中,此值反映图像的逻辑大小,并以磅为单位进行测量。在iOS 3.x及更早版本中,此值 始终反映以像素为单位测量的图像尺寸。
像素和点之间有什么区别?
答案 0 :(得分:50)
iOS上的像素是设备的全分辨率,这意味着如果我的图像长度为100x100像素,那么手机将在标准的非视网膜设备上呈现100x100像素。但是,由于较新的iPhone具有四倍的像素密度,因此相同的图像将以100x100像素渲染,但看起来只有一半大小。很久以前,iOS工程师在介绍Core Graphics的点系统时解决了这个问题(在使用Quartz的OS X中)。点是标准长度,相当于非视网膜设备上的1x1像素,以及视网膜设备上的2x2像素。这样,您的100x100图像将在视网膜设备上呈现两倍大小,并基本上标准化用户看到的内容。
它还在iOS设备上提供了标准的测量系统,因为无论像素密度如何,iPhone屏幕上一直有320x480点,iPad屏幕上一直有768x1024点。*
但与此同时,考虑到视网膜设备至少在iOS 4中引入,你基本上可以忽略这些文档,而且我不知道有太多人仍然在较新的iPhone上运行iOS 3。但是如果出现这种情况,你的UIImage需要在视网膜iPhone上以像素尺寸的两倍进行渲染,以弥补像素密度差异。
*从iPhone 5开始,iPhone的尺寸现在不再标准化了。请使用适当的API检索屏幕尺寸或使用布局约束。
答案 1 :(得分:1)
使用来自http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions的数据我设置公式sqrt(pointWidth ^ 2 + pointHeight ^ 2)/ diagonalInches来计算每个手机每英寸显示的点数。
结果:
iPhone 2G,3G,3GS,4,4s = 164.825201164068082每英寸点数
iPhone 5,5s = 162.9846618550346903
iPhone 6 = 162.8061416117083255
iPhone 6 Plus = 153.535954278463216
正如您所说,每部手机的大小大致相同。使用相同的webopage,您可以使用像素值设置相同的公式,并且由于较高的手机上的像素密度较高,您会注意到大的不规则性。