How to create a UIViewController layout in storyboard and then use it in code?

kender picture kender · Nov 13, 2011 · Viewed 20.5k times · Source

I have a Storyboard in my iOS 5 application.

In there I have created a number of screens and it works perfectly.

However there's one view controller that I create in code, not as a result of UI action but at the end of processing data. I would like to show this view controller then, as a modalViewController, but also have it designed in the storyboard editor.

Is it possible? Using the nibs I did it like this:

ResultsController *rc = [[ResultsController alloc] initWithNibName:@"ResultsController"
                                                            bundle:nil];
[self.navigationController presentModalViewController:rc animated:YES];
[rc release];

Right now I don't really have a nib files, so how do I do it?

Answer

mafis picture mafis · Nov 13, 2011

Take a look at the UIStoryboard class. There is a instantiateViewControllerWithIdentifier Method. So you need to set the Identfier within the Storyboard Editor for your ResultsController ViewController.

You can do something like this

UIViewController *viewController = 
   [[UIStoryboard storyboardWithName:@"MainStoryboard" 
                              bundle:NULL] instantiateViewControllerWithIdentifier:@"ResultsController"];

[self presentModalViewController:viewController animated:NO];