Xcode中的测量单位是多少?

Gil*_*and 17 xcode frame units-of-measurement ios

这可能听起来很傻但是当我在Xcode中使用尺寸时,总框架尺寸等于320*568(宽*高).我很好.但手机的分辨率实际上是不同的.iphone 4S是640*960,5和下一代是640*1136.

我知道最后一个是xcode用作单位的两倍,所以我的问题是:

XCode使用什么单位测量?如果是像素,为什么不使用手机尺寸/分辨率作为参考?

The*_*ude 23

它使用积分.在视网膜设备中,1个点等于两个像素.在非视网膜设备中,1个点等于1个像素.

查看苹果在ios上绘图和打印的文档. https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//apple_ref/doc/uid/TP40010156-CH14-SW7

特别是"点与像素"部分

编辑 回答您的iphone 4S vs 5和下一代问题.这些是实际的屏幕尺寸.决议是不同的.iPhone 4S和4屏幕为320x480点,或640x960像素.iPhone 5,5C和5S屏幕为320x568点,或640x1136像素.如果您正在使用xib,您可能会看到以前的大小之一,因为xib已定义大小.这就是自动布局约束的用武之地.您可以在xib或storyboard中告诉您希望如何在屏幕中调整元素大小/重新定位元素.您可能正在使用struts和spring来决定如何在视图中重新定位项目而不是自动布局.没关系.即使您的xib/storyboard是iphone5大小,如果在iPhone4/4S模拟器或设备上运行应用程序时检查viewDidAppear方法中的屏幕大小,您将看到视图边界具有相应设备的大小.最好使用点而不是像素,因为它可以帮助开发人员从分辨率中抽象出来.您不必担心一个点有多少像素,您只需在屏幕上的点找到项目,让系统为您处理分辨率.


swi*_*eek 5

Xcode 10.1,Swift 4.2回答

Xcode使用积分.但是在下一个解释的情况下,什么是点和多少像素 - >它取决于您使用的视网膜设备.基本上在非视网膜设备上1点= 1像素.在iphone 6plus和更新的"plus"型号上,苹果增加了3倍的分辨率. 在此输入图像描述

在正常的视网膜设备上1点= 4像素,而不是2!然后苹果打包那个像素到点.在iPhone plus模型中,apple也使用了因子1.15的下采样,这意味着,例如,如果你有1242*2208,那么它应该在1.15上进行分割,你的设备上将获得1080*1920全高清. https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

在此输入图像描述

我相信最重要的答案是:

它使用积分.在视网膜设备中,1个点等于两个像素.在非视网膜设备中,1个点等于1个像素.

是错的.我提供了一个指向developer.apple.com的链接.

https://developer.apple.com/documentation/uikit/uiscreen/1617836-scale

在此输入图像描述