【问题标题】:watchOS 5 contentSafeAreaInsets always zerowatchOS 5 contentSafeAreaInsets 始终为零
【发布时间】:2018-11-11 13:33:21
【问题描述】:

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

我已尝试创建一个示例项目,以防我的应用出现异常情况,但没有成功。

docs 状态:

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

所以我尝试将 SceneKit 场景添加到情节提要中,但这没有任何效果,即使在启用和禁用“全屏”和“固定到屏幕边缘”选项的所有排列时:

编辑:如果我在后台和前台应用程序,则值会成功报告,这让我相信如果没有解决方法,这可能是 watchOS 中的一个错误。期望用户在后台和前台应用程序以获得正确的行为似乎是不合理的。

【问题讨论】:

  • 我也有同样的问题...你找到解决办法了吗?

标签: watchkit watchos-5


【解决方案1】:

作为it says:

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

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

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

【讨论】:

  • 不,正如我在问题中所说:“...在 Apple Watch Series 4 模拟器上运行针对 watchOS 5 编译的应用程序”。 Apple Watch Series 4 是 40 毫米和 44 毫米,所以我看不出你的回答有什么帮助。
  • @KaneCheshire,好的,然后显示一些代码,您尝试在其中获取插图。也许我可以给出更好的答案。
猜你喜欢
  • 2016-05-02
  • 2012-01-16
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多