我的工作基于iPhone 6的屏幕尺寸,即326 ppi为1136x750像素。我更关心按钮的物理尺寸(由于某种原因),而不是数字尺寸。

如果iPhone 6上的宽度为44像素且物理宽度为0.2英寸的按钮在iPhone 6 Plus上具有相同的物理宽度,即401 ppi?

如果不是,这是否违反Apple的准则?他们最初测试了44个像素为最小宽度,但是如果ppi较大,则实际宽度会减小。

是否以某种方式进行了调整/缩放?

编辑:我有一种愚蠢的感觉,所有这些都是显而易见的。

编辑2:我最初担心的是,在整个屏幕上,iPhone 6总共可以

T = 375.0 / 44.0 = 8个按钮

虽然iPhone 6 Plus总共可以

T'= 540.0 / 44.0 = 12个按钮,每个按钮实际上较小。

解决此问题的方法是找出iPhone 6 Plus的按钮调整宽度,即w'= 44.0 px * 401 ppi / 326 ppi = 54.0像素。

因此,iPhone 6 Plus上的每个按钮应具有54像素的宽度,以具有相同的物理尺寸。

我认为正确吗?

最佳答案

您对数学的看法是正确的,iOS中的点与物理大小无关。

physicalSize = points * scale / ppi

5.5英寸 44 * 3/401≈0.33英寸

4.7英寸 44 * 2/326≈0.27英寸

因此,为了保证相同的物理尺寸,您需要为每个设备手动进行计算,但这并不是最佳做法。

从上面的公式中您可以得到:
points = physicalSize * ppi / scale

迅捷功能:
func points(fromInches inches: CGFloat) -> CGFloat {
    return inches * ppi / UIScreen.main.scale
}

var ppi: CGFloat {
    //return device ppi
}

检查this有关以编程方式获取ppi的问题:

编辑:

我仍然建议考虑点而不是物理屏幕尺寸。

关于ios - 44像素的宽度是否等于所有设备的相同物理尺寸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40568696/

10-12 00:27