故事板布局与屏幕边缘齐平,但在实际 iPhone 7 Plus 中显示间隙

Posted

技术标签:

【中文标题】故事板布局与屏幕边缘齐平,但在实际 iPhone 7 Plus 中显示间隙【英文标题】:Storyboard layouts flush with edge of screen, but shows gap in actual iPhone 7 Plus 【发布时间】:2017-09-18 13:46:48 【问题描述】:

我有一个用 Swift 编码并使用故事板的 ios 应用程序。故事板中视图控制器的顶部有一个“标题栏”,应该与手机的左/右边缘齐平:

这在 iPhone 6s 中的行为与预期一致。但是,在 iPhone 7 Plus 中,它以某种方式在屏幕上显示可能 2 毫米的点击,好像自动布局不起作用。根据自动布局,前导空格是-16。将其设置为 0 并不能解决问题。

我在自动布局上是否缺少一些东西,使它可以在所有设备上工作而不会显示间隙?

【问题讨论】:

是否有任何模棱两可/冲突的约束?做一个备份,移除所有对带有超级视图的视图的约束,并一一添加。 这是给出约束的不好方法。您已经对边距而不是屏幕边缘进行了约束。因此,它在 6 秒内可以正常工作,但在任何 plus 设备中都不能正常工作。删除约束并使用Constraints to margin OFF 重新应用它们。 让我知道它是否有效,我会回答这个问题:D 还有一件事,当您在关闭Constraints to margin 的情况下给出约束时,请确保您将常数设为 0.0 而不是 -/+16.0 谢谢!会试一试的,伙计们...... 【参考方案1】:

这是给出约束的不好方法。您已经对边距而不是屏幕边缘进行了约束。因此,它在 6 秒内可以正常工作,但在任何 plus 设备中都不能正常工作。删除约束并使用Constraints to margin OFF 重新应用它们。

还有一件事,当您在关闭 Constraints to margin 的情况下给出约束时,请确保您将常量设为 0.0 而不是 -/+16.0

【讨论】:

如果它解决了您的问题,请接受这个答案。 :)

以上是关于故事板布局与屏幕边缘齐平,但在实际 iPhone 7 Plus 中显示间隙的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 上通用故事板的约束

将图像限制在 Xcode 故事板上的屏幕边缘

主/详细故事板项目中的 IOS 导航栏在 ipad 上是透明的,但在 iphone 上不透明

iOS - 自动布局与不同屏幕尺寸的不同故事板

Xcode 9 布局:有没有办法为 iPad 构建一个与 iPhone 相同内容的新故事板?

自动布局不适用于故事板中放置的项目