在 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:)
例如
@IBAction func buttonTapped() {
pushController(withName: "identifierOfNextInterfaceController", context: nil)
}
我正在开发 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:)
例如
@IBAction func buttonTapped() {
pushController(withName: "identifierOfNextInterfaceController", context: nil)
}