如何在 iPhone X 中将底视图颜色扩展到主页指示器下方?

How to extend bottom view colour below the home indicator in iPhone X?

请检查附件图片。 Viewcontroller 的视图背景颜色为蓝色。如您所见,此颜色延伸到状态栏下方和主页指示器下方。底部有一个白色视图,它是一个按钮。这里的白色视图位于安全布局指南内。

我希望相同的白色延伸到主页指示器下方,而不添加任何其他视图,仅用于 iPhone-X。

如何操作?

您需要set/attach您的白视图与超级视图的底部约束。

按照以下步骤查看:

  • 检查 bottom/bottom 视图的对齐约束。它可能与安全区域的底部 anchor/constraint 相连。


  • (编辑)双击 Bottom 约束,将显示以下选项。
  • 现在将选择(勾号)从安全区域更改为超级视图。


  • 如果不是,则将常量设置为 0


  • 这是您可能想要的结果。

Krunal 的回答在大多数情况下都有效。但是,如果您没有设置顶部约束,白色视图将位于主页指示线下方。

在我的设计中,白色视图只有前导、尾随、底部和高度限制。我必须将另一个视图作为子视图添加到白色视图(此视图将从现在起充当白色视图),为外部白色视图启用安全区域布局指南并将约束设置为 margin/safe 区域为了让这个东西适用于包括 X 在内的所有设备。

注意:应为内部 view/Button(在我的例子中)而不是外部视图设置高度限制。 Autolayout 将在 iphone X 设备中正确地为您完成工作。

这是它在 iphone X 和其他手机中的样子。 iPhone 东南:

iPhone X:

希望这可能对某人有所帮助。 :)

在我的例子中,我希望底部的视图高度为 49。因此将顶部设置为底部布局指南上方的 49。

然后将视图底部设置为父视图底部。

现在在 iPhone X 上,视图延伸到 phone 的底部,并且在安全区域上方仍然有 49 的高度,而在其他设备上,视图的高度为49.