【问题标题】:Dismiss WatchKit Modal Segue to Root Controller将 WatchKit 模态 Segue 关闭到根控制器
【发布时间】:2017-04-19 18:54:30
【问题描述】:

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

【问题讨论】:

    标签: swift modal-dialog segue watchkit


    【解决方案1】:

    我知道的唯一方法是以某种方式与接口控制器 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()
        }
    }
    

    【讨论】:

      【解决方案2】:

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

      popToRootController()
      

      在第三个界面中调用上述方法从你的操作方法转到根视图控制器。

      【讨论】:

        猜你喜欢
        • 2017-09-08
        • 1970-01-01
        • 1970-01-01
        • 2020-02-17
        • 2013-01-01
        • 2011-01-14
        相关资源
        最近更新 更多