I have been reading that unwind segue's are bugged in Xcode 6. I am using Xcode 6.1.1 and I use swift.
I use the "Back" button that is put by the navigation controller. Thus I can't cntrl drag to the exit icon. Moreover I can't drag from viewController icon to exit icon either.
Is this a bug? Or else I am missing some fundamental knowledge about how to use unwind segue. How can I set unwind segues from the storyboard?
I want to provide a detailed answer:
To perform an unwind segue, go to the view controller that you want to segue to and add the following function; (the name can change of course)
@IBAction func unwindToMainMenu(segue: UIStoryboardSegue) {
}
Once you add this function, you will be able to see this unwind function from any view controller on your storyboard. Just right click on the exit icon on the top of any view controller.
If you want to perform unwind with a button, then you can cntrl + drag from the button to exit icon and choose your unwindSegue
function. Done!
If you want to perform unwind programmatically, then cntrl + drag from the viewController icon to the exit icon and choose the unwind function.
Afterwards, open the Document Outline and click on the unwind segue.
Go to Attributes Inspector inside Utilities and give an identifier to your unwind segue.
Lastly, call the performSegueWithIdentifier
function like the following;
self.performSegueWithIdentifier("goToMainMenu", sender: self)
Hope that helps!
Got it working. If you are presenting from a NavigationController or TabBarController(unsure about the TabBarController), you need to subclass the navigation controller and add the unwind segue to that. In storyboard don't forget to change the class of your navigation controller. My view hierarchy was NavController -> TableController -> DetailController. After adding method to custom NavBar class add it to the VC you want to RETURN to. You will then be able to ctrl-drag to exit. I consider this a bug, as once it is hooked up I was able to delete the subclass and return to stock NavigationController and it still worked.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With