I believe that this is what you are trying to accomplish.
// Put this in your FirstViewController @IBAction func returnToFirstViewController(segue:UIStoryboardSegue) { print("This is called after modal is dismissed by menu button on Siri Remote") } // Put this in your SecondViewController override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. let tapRecognizer = UITapGestureRecognizer(target: self, action: Selector("handleMenuPress:")) tapRecognizer.allowedPressTypes = [UIPressType.Menu.rawValue] view.addGestureRecognizer(tapRecognizer) } func handleMenuPress(recognizer: UITapGestureRecognizer) { self.performSegueWithIdentifier("YourUnwindSegueIdentifier", sender: nil) } override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "YourUnwindSegueIdentifier" { // do any cleanup activities here if you need } }
Now you need to do some storyboards. Go to your SecondViewController and ctrl-drag from your controller icon to the Exit icon, and you will see the following:

Select the method to connect it to, and then you will see the Unwind Segue in your SecondViewController in the storyboard. Check this identifier name "YourUnwindSegueIdentifier" (so my sample code will work - or use whatever name you want). Build and run, and this should help you with what you need.
source share