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

abh*_*ran 16 iphone ios safearealayoutguide iphone-x

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

我希望在家庭指示器下方延伸相同的白色,而不为iPhone-X添加任何其他视图.

这该怎么做?

在此输入图像描述

Kru*_*nal 27

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

请按照以下步骤查看:

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

在此输入图像描述


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

在此输入图像描述


  • 0如果不是,则设定常数.

在此输入图像描述


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

在此输入图像描述


abh*_*ran 15

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

在此输入图像描述

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

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

在此输入图像描述

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

iPhone 5C

iPhone X:

在此输入图像描述

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

  • 它唯一的支持> iOS 9. (2认同)

Dan*_*ton 6

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

在此输入图像描述

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

在此输入图像描述

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