在 watchOS 上以编程方式触发 segue

Trigger segue programmatically on watchOS

我正在开发 watchOS 3 应用程序。

我有一个连接到按钮的 segue,它工作正常。现在我想以编程方式触发它。

收到来自 phone 的消息后,我想将手表导航到特定视图,但我似乎无法通过 WatchKit 调用 self.performSegue 方法。

有什么办法吗?

在 WatchKit 中,您无法以编程方式执行 segue。相反,您需要使用 pushController(withName:context:), presentController(withName:context:) or presentController(withNames:contexts:).

确保在 InterfaceBuilder 中为您的 WKInterfaceControllers 设置标识符。

如果您需要将数据传递给控制器​​,请查看 contextForSegue(withIdentifier: String) and contextsForSegue(withIdentifier: String)

您现在可以通过编程方式执行 segue。

Alternatively, you can programmatically initiate the push transition by calling the pushController(withName:context:)

source

例如

@IBAction func buttonTapped() {
    pushController(withName: "identifierOfNextInterfaceController", context: nil)
}