swift 解除WatchKit模态Segue到根控制器

rqcrx0a6  于 2023-01-16  发布在  Swift
关注(0)|答案(3)|浏览(112)

我正在创建一个watchOS应用程序,其中有一个界面控制器(界面控制器1)。该按钮具有到界面控制器2的模态延续,而界面控制器2具有到界面控制器3的模态延续的按钮。每当用户单击界面控制器3上的取消按钮时,它将它们带到界面控制器2。但是,我想让它把它们带到接口控制器1。我该怎么做呢?下面是图表:

ubof19bj

ubof19bj1#

有一个方法可以转到根视图控制器。

popToRootController()

调用上面的方法从你的action方法在第三个接口转到根视图控制器。

lxkprmvk

lxkprmvk2#

我所知道的唯一方法是以某种方式(通知?)与接口控制器1通信,并让它使用以下方法:
self.becomeCurrentPage()
例如:

@IBAction func cancelPressed(_ sender: Any) {
    NotificationCenter.default.post(name: Notification.Name.CancelSelected, object: self)
}

然后在接口控制器1中:

override func awake(withContext context: Any?) {
    super.awake(withContext: context)

    _ = NotificationCenter.default.addObserver(forName: Notification.Name.CancelSelected, object: nil, queue: OperationQueue.main) { (notification) in
        self.becomeCurrentPage()
    }
}
rryofs0p

rryofs0p3#

对我来说,在根控制器上调用dismiss()是有效的。

相关问题