如何在 iPhone X 的主页指示器下方扩展底视图颜色?
Posted
技术标签:
【中文标题】如何在 iPhone X 的主页指示器下方扩展底视图颜色?【英文标题】:How to extend bottom view colour below the home indicator in iPhone X? 【发布时间】:2017-11-09 12:05:20 【问题描述】:请检查所附图片。 Viewcontroller 的视图的背景颜色为蓝色。如您所见,此颜色延伸到状态栏下方和主页指示器下方。底部有一个白色视图,它是一个按钮。这里的白色视图位于安全布局指南内。
我希望相同的白色在主页指示器下方延伸,而不为 iPhone-X 添加任何额外的视图。
如何做到这一点?
【问题讨论】:
【参考方案1】:你需要用超级视图设置/附加你的白色视图的底部约束。
按照以下步骤操作并查看:
检查视图的底部/底部对齐约束。它可以附有底部锚/安全区域的约束。 (编辑它)双击底部约束,它将显示以下选项。 现在将选择(勾选标记)从安全区域更改为超级视图。 如果不是,请将常量设置为0
。
这是您可能想要的结果。
【讨论】:
谢谢。这会奏效。但是,如果您没有设置顶部约束,则白色视图将位于主指示线下方。在我的设计中,白色视图只有前导、尾随、底部和高度约束。我必须将另一个视图作为子视图添加到白色视图,并将约束设置为边距,以便让这个东西适用于包括 X 在内的所有设备。 请务必查看已接受的答案,以获得更通用的解决方案。【参考方案2】:Krunal 的答案在大多数情况下都有效。但是,如果您没有设置顶部约束,白色视图将位于主指示线下方。
在我的设计中,白色视图只有前导、尾随、底部和高度约束。我必须将另一个视图作为子视图添加到白色视图(此视图从现在起将充当白色视图),启用外部白色视图的安全区域布局指南并将约束设置为边距/安全区域,以便让这个东西适用于包括 X 在内的所有设备。
注意:应为内部视图/按钮(在我的情况下)而不是外部视图设置高度约束。自动布局将在 iphone X 设备中为您正确完成工作。
这就是它在 iphone X 和其他手机中的外观。 iPhone SE:
iPhone X:
希望这可以帮助某人。 :)
【讨论】:
仅支持 > ios 9. @abhi1992,是的,但是我的应用程序也支持 iOS 8。因此,当您使用安全区域时,iOS 8 和 iOS 11.2 无法同时使用。了解兄弟...它很简单 View 的约束是什么?你还没有具体说明它。 你能看看附上的第一张图片吗? 我想在 Xamarin.Forms 中实现它。有什么建议吗?【参考方案3】:在我的例子中,我希望底部视图的高度为 49。所以将顶部设置为底部布局指南上方的 49。
然后将view底部设置为superview底部。
现在在 iPhone X 上,视图延伸到手机底部,并且在安全区域上方的高度仍然为 49,而在其他设备上,视图的高度为 49。
【讨论】:
以上是关于如何在 iPhone X 的主页指示器下方扩展底视图颜色?的主要内容,如果未能解决你的问题,请参考以下文章