Consider a view with a button. We can drag a connection from this button to some other view controller, create a segue in IB and we are happy. What if I need a segue that is performed upon some event, say, network progress, and that is unrelated to any user actions? For now I'm placing a button, drag a segue from this button, hide the button, assign an identifier to a segue and somewhere in the code i perform this segue. However, I think that placing a dummy button is not a right way. Possibly I'm missing something using storyboards, could you please help me to understand this?
Asked
Active
Viewed 1.2k times
2 Answers
46
Create your segue by ctrl dragging from your view controller to your next view. Then to call your segue, call:
[self performSegueWithIdentifier: @"SegueToScene1" sender: self];
Make sure you give your segue a name in the storyboard.
-
2Ctrl-dragging from the view controller to the next view was the missing piece, thanks! – zrslv Feb 04 '13 at 01:10
1
You can use performSegueWithIdentifier:
method to force the transition to a new view
, based on some criteria. When you call this, it will also automatically call prepareForSegue:
(which is usually called when the storyboard
is about to transition to a new view
).
I wrote a post about controlling pushing views
here which should cover most of what you're talking about.