从故事板中提取nibs/xib(iOS)

Tim*_*Tim 18 objective-c storyboard ios

我创建了一个带有故事板的简单项目,现在意识到他们不支持iOS 4.x,并且我希望使用这些设备的用户能够下载我的应用程序.该应用程序只是一个翻转视图控制器,并且相当简单,但如果有一种方法可以从故事板中提取XIB,我宁愿这样做而不是重新创建它.

tl; dr:从.storyboard中获取.xibs?

Spa*_*arq 20

无法从故事板中提取Xib文件,但您可以通过将故事板实例化为UIStoryboard对象并通过其标识符获取UIViewController来实例化故事板中的UIViewControllers,以下是我的操作方法:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                            @"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];

    UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"myId"];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Tim*_*Tim 11

我发现最简单的方法是将项目复制并粘贴到故事板中,一次一个视图,并为每个视图重新创建视图控制器.

但是,对于执行此操作的任何人,请注意除了所有其他XIB之外,还必须为MainWindow创建一个 xib,并相应地将其挂钩,包括设置窗口和应用程序委托.故事板为您处理所有这些,因此当您尝试避免它们时,您需要进行大量手动设置,以便从get-go句柄中为您创建非故事板项目.不要做我做的事情,并尝试让你的根控制器成为主视图控制器,因为它会说明UIApplication如何不符合XIB各个属性的键值.


seo*_*seo 5

正如其他一些人所建议的那样,最好的办法是将故事板中的视图克隆到 XIB 中。

在此处输入图片说明