23

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

我希望相同的白色延伸到主页指示器下方,而不为 iPhone-X 添加任何额外的视图。

这该怎么做?

在此处输入图像描述

4

3 回答 3

34

您需要使用超级视图设置/附加白色视图的底部约束。

请按照以下步骤操作并查看:

  • 检查视图的底部/底部对齐约束。它可以附有安全区域的底部锚/约束。

在此处输入图像描述


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

在此处输入图像描述


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

在此处输入图像描述


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

在此处输入图像描述

于 2017-11-09T12:47:49.273 回答
21

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

在此处输入图像描述

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

注意:应该为内部视图/按钮(在我的情况下)而不是外部视图设置高度约束。自动布局将在 iphone X 设备中为您正确完成工作。

在此处输入图像描述

这就是它在 iphone X 和其他手机中的外观。iPhone SE:

iPhone 5C

iPhone X:

在此处输入图像描述

希望这可以帮助某人。:)

于 2017-11-10T04:13:05.383 回答
8

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

在此处输入图像描述

然后将视图底部设置为超级视图底部。

在此处输入图像描述

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

于 2018-01-12T17:35:52.917 回答