watchOS 5 contentSafeAreaInsets始终为零

时间:2018-11-11 13:33:22

标签: watchkit watch-os-5

我可能会错过一些明显的东西,但是在Apple Watch Series 4模拟器上针对watchOS 5编译的应用程序始终会导致contentSafeAreaInsets和systemMinimumLayoutMargins返回零(左/右/上/下为零)。

我尝试创建一个示例项目,以防它在我的应用程序中有些怪异,但没有运气。

docs状态:

  

系统的内置容器和控件会自动使用   内容安全区域插图;但是,如果您构建自定义用户   与SpriteKit或SceneKit的接口,则应检查   contentSafeAreaInsets和systemMinimumLayoutMargins,并布置您的   界面。

因此,我尝试将SceneKit场景添加到情节提要中,但这没有效果,即使启动了启用和禁用“全屏”和“固定于屏幕边缘”选项的所有排列时,也是如此:

enter image description here

编辑:如果我后台运行该应用程序,则成功报告了这些值,这使我相信,如果没有解决方法,这可能是watchOS中的错误。期望用户后台运行应用程序以获取正确的行为似乎是不合理的。

1 个答案:

答案 0 :(得分:-1)

it says

  

40毫米和44毫米手表具有圆角,它们可能会剪切延伸到屏幕边缘的内容。内容安全区域定义状态栏下方避免圆角的区域。

可能您正在其他模拟器(38mm?)上运行该应用程序。在38和42毫米的角上没有倒圆角。表圈当然是圆形的,但实际的硬件显示在那儿是正方形的。

此外,此文档可能会有所帮助:
Display Sizes
Layout