如何在iPhone X中扩展家庭指示器下方的底视图颜色?

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

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

这个怎么做?

在此处输入图像描述

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

请按照以下步骤查看:

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

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

在此处输入图像描述

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

iPhone 5C

iPhone X:

在此处输入图像描述

希望这可以帮助某人。 🙂

在我的情况下,我希望底部的视图高度为49.因此将顶部设置为高于底部布局指南49。

在此处输入图像描述

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

在此处输入图像描述

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