Can an 'Unwind Segue' work between two storyboards connected by a storyboard reference?

我怕爱的太早我们不能终老 提交于 2019-11-27 05:45:00

问题


In iOS 9, storyboards can be connected by a 'storyboard reference' that links to a second storyboard by adding a storyboard reference and setting the 'referenced ID' to the name of another storyboard file.

Is it possible to set up an unwind segue in the second file that unwinds to a scene in the first file? If so, what steps are involved, either in Interface Builder or in code?


回答1:


Starting from your storyboard reference, create a new storyboard reference that will be a reference back to your "Main" storyboard. Make sure you set your Storyboard Identifier on your main as well.

You will now have a "Main Scene" reference with all you Exits now available. You can now create unwind segues as you normally would. Ctrl-drag from your controller to the Exit marker on the Main Scene and you will be able to select the desired exit.




回答2:


I didn't have to make a storyboard reference back from the 2nd storyboard to the first as Ryan laid out. For me, in my second storyboard I could Control-drag from a viewcontroller to its own exit, and the unwind segue that I had specified in a viewcontroller class consumed in the first storyboard appeared. So I just selected that to create a new exit segue with an identifier, and called performSegueWithIdentifier: on it in code. Worked fine.




回答3:


1) Add this method to your MainViewController

// NEEDED! Do not delete!
@IBAction func unwindToMasterViewController(_ segue : UIStoryboardSegue) {
  // Do nothing
}
2) In the Main storyboard, right-click on the Exit segue of the referenced storyboard and select unwindToMasterViewController

3) Give the exit segue a name to reference it in code

4) Call your exit segue from code



来源:https://stackoverflow.com/questions/33369171/can-an-unwind-segue-work-between-two-storyboards-connected-by-a-storyboard-ref

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!