为iPhone 6 Plus开发时(所有其他设备不受影响)。如果您有一个UI元素,假设从一端到另一端水平填充屏幕,则前导和尾随约束通常为-16,因为0假定距离边距为16点。
这在故事板和除iPhone 6 Plus(物理设备和模拟器)之外的所有设备上看起来都很好。
正如您在此处所看到的,我在故事板上对此测试视图的定义:
在iPhone 6 Plus上,这就是我所得到的:
在黑色视图的左右两侧显然有一些未填充的边框。 我做了一些测试,将约束设置为-19和-20,以查看是否填充了空格:
这就是它的样子:
在左边,约束为-20的地方没有边框,在约束为-19的右边,有一个1像素的边框。
我的结论是iPhone 6 Plus上的0点距离边距20点,而不是所有其他设备的16点。这不是故意的,它显然是一个iOS错误。
有没有人遇到过这个问题?是否有解决方法使这一点保持一致,这样我就不必为iPhone 6 Plus添加硬编码异常了?
答案 0 :(得分:6)
不要使用保证金。您可以选择在约束条件下关闭边距。
边距点是它由系统控制,而不是你,因此可以为每个设备设置适当的大小。并且有意义的是,大型设备的边距要小于小型设备。