快速后退按钮segue

时间:2016-03-10 12:08:21

标签: ios iphone swift

我有一个导航tableview控制器Calculator,然后转到AddActiveIngredients,这是我为计算器添加所有内容的地方。

我在计算器和AddActiveIngredients中有segue方法backButton我点击了控制器中的segue以退出并选择了Calculator类中的segue。

enter image description here

segue标识符也是backButton但它没有做任何事情。

我已尝试使用此代码尝试手动触发segue,但这不起作用。我错过了这么简单的事吗?

override func didMoveToParentViewController(parent: UIViewController?) {
    if (!(parent?.isEqual(self.parentViewController) ?? false)) {
        print("Back Button Pressed!")

        self.performSegueWithIdentifier("backButton", sender: self)
    }
}

3 个答案:

答案 0 :(得分:1)

听起来你只想从堆栈中删除AddActiveIngredients。如果是这样,你只需要调用一个函数来解除它。

func dismissVC() {
  dismissViewControllerAnimated(true, completion: nil)
}

您可以将其放在按钮水龙头或其他位置。它适用于Show和Modal segues。放松可能对你正在做的事情来说太过分了。

希望它有所帮助!

答案 1 :(得分:0)

要使用退出图标,您根本不需要创建一个segue。

您所要做的就是在ViewController中添加一个要放松的方法,并添加一个带签名的方法:

@IBAction func myUnwindAction(segue: UIStoryboardSegue) {
    // do stuff
}

请记住,您必须在目标ViewController

中添加此方法

当您从按钮控制 - 拖动退出图标时,此方法现在将显示。 现在单击该按钮时,将弹出当前的ViewController,并调用目标中的action方法。

希望这有帮助。

答案 2 :(得分:0)

使用 Swift 5 ,您可以使用关闭功能

@IBAction func dismissViewController(_ sender: Any) {
        //Go back to previous controller
        dismiss(animated: true, completion: nil)
    }