iPhone 6 Plus上的UI元素不会水平填充整个屏幕

man*_*sta 3 iphone ios uistoryboard iphone-6-plus

为iPhone 6 Plus开发时(所有其他设备不受影响).如果您有一个UI元素,假设从一端到另一端水平填充屏幕,则前导和尾随约束通常为-16,因为0假定距离边距为16点.

这在故事板和除iPhone 6 Plus(物理设备和模拟器)之外的所有设备上看起来都很好.

正如您在此处所看到的,我在故事板上对此测试视图的定义如下:

在此输入图像描述

在iPhone 6 Plus上,这是我得到的:

在此输入图像描述

这个黑色视图左右有明显的非填充边框.我做了一些测试,将约束设置为-19和-20,以查看是否填充了空格:

在此输入图像描述

这就是它的样子:

在此输入图像描述

在左边,约束是-20没有边框,在右边约束是-19,有一个像素边框.

我的结论是iPhone 6 Plus上的0点距离边距20点,而不是所有其他设备的16点.这不是故意的,它显然是一个iOS错误.

有人遇到过这个问题吗?是否有解决方法使这一点保持一致,以便我不必为iPhone 6 Plus添加硬编码的例外?

Wai*_*ain 6

不要使用保证金.您可以选择在约束条件下关闭边距.

保证金的一点是它由系统控制,而不是您,因此可以为每个设备设置适当的大小.并且有意义的是,大型设备的边距比小型设备要大一些.