我的旧iOS4项目中有一些UIViewControllers,他们使用的是.xib,在界面构建器中创建。
我为iOS5打造的新项目使用了故事板。
我正在尝试将UIViewController添加到故事板,但让它使用我已经拥有的自定义XIB 。我在indentity检查器中设置了控制器的标识(在界面构建器中),但我不确定如何要求该控制器加载自定义.xib。
感谢任何帮助!
PS。到目前为止,我能够通过为故事板目的创建一个“包装器”类来解决这个问题,并让该类具有另一个UIViewController。但这有点打败了故事板的全部内容。
答案 0 :(得分:19)
您可以将xib的内容复制到storyboard中,然后使用:
进行实例化- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier
在设置标识符后。如果你需要故事板的实例,你可以这样得到它:
[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
答案 1 :(得分:1)
Mike K的回答是错误的。
虽然混合XIB和Storyboard并不能解决Alex的问题,但 很可能在同一个项目中完成。
请参阅:https://stackoverflow.com/a/8516479/1309238 re:加载第二个故事板。
我不确定是否包含"主要故事板"如果您计划执行此操作,建议您在目标摘要中使用,但如果您已经开始加载XIB而不是故事板,则可以修改上面链接的代码以在XIB之后加载故事板。
我不确定你是否可以从XIB跳到故事板的中间,这可能是迈克的意思。
答案 2 :(得分:-13)
你不能在你的项目中混用xib和故事板 - 这是另一个,我担心。