0

我查看了 Apple 的 WKInterfaceController 文档:

插入:在界面控制器的边缘与其内容之间插入的空间量(以磅为单位)。选择自定义可让您为顶部、底部、左侧和右侧边缘指定不同的值。

间距:界面控制器中项目之间的附加间距(以磅为单位)。

在 Interface.storyboard 中,我可以在右侧面板上设置这些,基本上我将 Insets 设置为 Custom 并将它们全部设置为 0。对于 Spacing,我检查“Custom”并将其设置为 0 以消除所有空间

有没有办法以编程方式设置这些?我尝试了代码(我找不到 WKInterfaceController 的“Spacing”属性,我想知道这是从哪里来的,但我认为对于 Insets,相应的属性是“contentSafeAreaInsets”,它采用“UIEdgeInsets”)

对于“contentSafeAreaInsets”,当我尝试时,它看起来只是一个只能获取的道具——错误:“无法用存储的属性 'contentSafeAreaInsets' 覆盖”:

override var contentSafeAreaInsets: UIEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

我也尝试在清醒状态下设置它,甚至添加一个覆盖初始化,但似乎无法以编程方式设置它。当我尝试其他东西时也是如此,例如尝试为 WKInterfaceGroup 设置“间距”(除了出现在界面故事板的右侧面板中之外,我什至找不到间距定义)

这些只是不是要在代码中设置,而是必须在界面故事板中设置吗?

4

1 回答 1

-1

由于contentSafeAreaInsets是计算属性,因此您应该像这样覆盖它:

override var contentSafeAreaInsets: UIEdgeInsets {
     UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}
于 2020-11-28T02:02:59.627 回答