我有一个导航tableview控制器Calculator
,然后转到AddActiveIngredients
,这是我为计算器添加所有内容的地方。
我在计算器和AddActiveIngredients中有segue方法backButton
我点击了控制器中的segue以退出并选择了Calculator类中的segue。
segue标识符也是backButton但它没有做任何事情。
我已尝试使用此代码尝试手动触发segue,但这不起作用。我错过了这么简单的事吗?
override func didMoveToParentViewController(parent: UIViewController?) {
if (!(parent?.isEqual(self.parentViewController) ?? false)) {
print("Back Button Pressed!")
self.performSegueWithIdentifier("backButton", sender: self)
}
}
答案 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)
}