iPhone 6 Plus上的UI元素水平方向没有填满整个屏幕

3
在为iPhone 6 Plus开发时(所有其他设备不受影响),如果您有一个UI元素应该从一端水平填充到另一端,那么前导和尾随约束通常为-16,因为假定0点距离边缘为16个点。
在Storyboard和除了iPhone 6 Plus(物理设备和模拟器)之外的所有设备上都看起来很好。
如您在此处所见,我对Storyboard上此测试视图的定义:
在iPhone 6 Plus上,这就是我得到的结果:
这个黑色视图左右两侧明显留下了一些未填充的边框。我进行了一些测试,将约束设置为-19和-20,以查看空间是否会被填充:
这是它的样子:
在左边,约束为-20没有边框,在右边,约束为-19,有1像素的边框。
我的结论是,在iPhone 6 Plus上,0点距离边缘的距离为20个点,而不是所有其他设备中的16个点。这不能是故意的,这显然是iOS的一个错误。
有人遇到过这个问题吗?是否有一种解决方法可以使其保持一致,这样我就不必为iPhone 6 Plus添加硬编码的异常了?
1个回答

6
不要使用边距。在您的约束条件中,您有关闭边距的选项。
边距的作用是由系统控制而非您自己,因此可以为每个设备设置适当大小。对于大型设备,边距应该比小型设备略大,这样更合理。

我应该在哪里禁用边距?有一个故事板宽选项还是每个约束都需要设置? - manecosta
它无处不在,我必须关掉所有吗?还是有其他的解决方法? - Raheel Sadiq
我认为你需要逐个进行设置,不幸的是我不知道有全局设置。 - Wain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接