代码之家  ›  专栏  ›  技术社区  ›  Joe

向后滑动以在传递数据时解除子VC

  •  0
  • Joe  · 技术社区  · 6 年前

    我有一个导航控制器,其中包含一个父VC和一个子VC。数据在两者之间传递。在父VC上,我通过prepareForSegue将数据传递给子VC。在子VC返回到父VC时,我通过一个自定义的后退按钮释放序列传递数据。

    来回传递数据非常有效。不过,我希望孩子VC能够被刷右关闭,同时仍然传递相同的信息,在放松赛格。

    有没有一种方法可以通过滑动将数据传回给家长,同时还可以按“后退”按钮“松开”? 我使用的唯一手势方法是gestureRecognizerShouldBegin,它允许将子VC向右滑动。

    extension ChildVC: UIGestureRecognizerDelegate {
        func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
            return true
        }
    }
    

    作为参考,以下是我的放松:

    @IBAction func unwindfromChild(_ sender: UIStoryboardSegue) {
        if let CVC = sender.source as? ChildVC {
            print("Unwind")
            dataReceived() // do stuff with the received data
        }
    }
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   COSMO BAKER    6 年前

    您只需附加一个 swipeGestureRecognizer 在您的视图中,在InterfaceBuilder中,在目标函数内部,将展开段命名为 trigger the unwind segue .

        2
  •  0
  •   Joe    6 年前

    navigationController:willShow .