简体   繁体   中英

iPhone IOS5 Storyboard, how to load a UIViewController with a custom .xib file?

I have some UIViewControllers from my old iOS4 project, they are using .xib, created in interface builder.

My new project, built for iOS5, uses storyboards.

I'm trying to add a UIViewController to the storyboard, but have it use a custom XIB that I already have . I've set the controller's identity in the indentity inspector (in interface builder), but am not sure how to ask that controller to load a custom .xib.

Any help is appreciated!

PS. Up to date I was able to get around this by creating a "wrapper" class for the storyboard purposes, and have that class have another UIViewController. But this kinda defeats the whole point of a storyboard.

You could copy the contents of the xib into the storyboard and then instantiate it using:

- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier

after setting the identifier on it. If you need the instance of the storyboard you can get it this way:

[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

Mike K's answer is false.

While mixing XIBs and Storyboards doesn't really solve Alex's problem, it is quite possible to do within the same project.

See: https://stackoverflow.com/a/8516479/1309238 re: loading a second storyboard.

I'm not sure if including a "Main Storyboard" in your Target Summary is advisable if you plan to do this, but if you've loaded a XIB instead of a storyboard to begin with, you can modify the code linked above to load the storyboard after the XIB.

I'm not sure if you can jump into the middle of a storyboard from a XIB, which may have been what Mike meant.

你不能在你的项目中混合xib和故事板 - 这是另一个,我害怕。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM