以编程方式执行展开

目前我有以下故事板:

UITableViewController – > Segue – > UINavigationController – > Relationship – > UITableViewController

在最后一个UITableViewController中,我添加了一个后面的button,代码如下:

 navigationItem.setLeftBarButtonItem(UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "unwind"), animated: true) let attributes = [NSFontAttributeName: UIFont.fontAwesomeOfSize(30), NSForegroundColorAttributeName: Constants.InterfaceColors.firstHighlightColor] as Dictionary! let unwindNavigationItem = navigationItem.leftBarButtonItem! as UIBarButtonItem unwindNavigationItem.setTitleTextAttributes(attributes, forState: .Normal) unwindNavigationItem.title = String.fontAwesomeIconWithName(FontAwesome.AngleLeft) 

据我读,我必须连接文件的所有者的故事板退出。 我发现,只有在你的控制器代码中有一个如下所示的动作时,才可能这样做。

 @IBAction func unwindToWeekOverview(segue: UIStoryboardSegue) { NSLog("unwind to week overview") dismissViewControllerAnimated(true, completion: nil) } 

由于我现在不是如何直接连接一个button的动作到我的展开动作,我添加了unwindfunction。

 func unwind() { performSegueWithIdentifier("UnwindToWeekOverview", sender: self) } 

当我现在点击后退button时,展开函数被调用,但不是继续。 我错过了什么?

看看这个链接。 这是由MIKE WOELMER和他解释得非常清楚。

https://spin.atomicobject.com/2014/10/25/ios-unwind-segues/

所以首先,您需要在目标视图控制器中创build一个IBAction,如下所示:

 @IBAction func goBack(segue: UIStoryboardSegue) { print("go back") 

那么你只需要连接(控制拖动)从你的button到出口。 在popup的对话框中,您会看到之前添加的function,只需select它即可。