此问题中的解决方案*使用setHidden隐藏和取消隐藏WKInterfaceGroup:

    atypeofGroup.setHidden(true)
    atypeofGroup.setHidden(false)

但是问题是,这个小组会突然出现和消失,看起来并不专业。有人可以指导我吗?不确定是否与此相关:
    atypeofGroup.animationDidStart(anim: CAAnimation!)

* hide and show WKInterfaceGroup programmatically

最佳答案

这是一个很好的问题,但是使用WatchKit的当前实现无法为两组之间的变化设置动画。我当然希望它也是如此。

您唯一的选择是完全通过reloadRootControllersWithNames:contexts:切换接口控制器,或者使用您首先列出的方法来显示/隐藏几个组。这是一个小示例,说明如何在页面集中从SimpleInterfaceController切换到FirstInterfaceControllerSecondInterfaceController

class SimpleInterfaceController : WKInterfaceController {
    override func willActivate() {
        super.willActivate()

        let names = ["FirstInterfaceIdentifier", "SecondInterfaceIdentifier"]
        WKInterfaceController.reloadRootControllersWithNames(names, contexts: nil)
    }
}

我不确定您在哪里找到以下代码片段,但它肯定不是WKInterfaceGroup上 public API的一部分。
atypeofGroup.animationDidStart(anim: CAAnimation!)

尽管我知道这些答案都不是理想的,但我们目前可以使用这些答案。如果您有时间,我建议在Apple的bug reporting system上提出功能请求。

10-08 12:30