safeAreaInsets仅在iPhone 7 Plus / 8 Plus上为0

时间:2018-10-02 00:30:39

标签: ios xcode autolayout

我要相对于屏幕底部放置一个视图,并且由于此视图是在我的应用程序委托中启动的,因此我要设置它相对于底部safeAreaInset的坐标。但是,在iPhone 7 Plus和8 Plus上,定位均已关闭,并且当我检查safeAreaInsets时,报告它为0。为什么仅在iPhone 7 Plus和8 Plus上会发生这种情况,并且有解决方法吗?最好只为这些设备添加条件代码吗?

编辑: 我发现在横向模式下,我需要使用safeAreaInserts.left而不是safeAreaInserts.bottom-这解决了我的问题。

1 个答案:

答案 0 :(得分:0)

如果您的查看完全在安全区域内,则safeAreaInsets将为0。

您有一个标签栏吗?如果不是,那么底部的安全区域插图预计为0(iPhone X及更高版本除外)。

您还观察到其他哪些设备,它们具有什么价值?

在大多数情况下,不需要编写条件代码。