我的工作基于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/