从故事板中提取nibs / xibs(iOS)
我已经创build了一个故事板的简单项目,现在意识到,他们不支持iOS 4.x,我希望这些设备的用户能够下载我的应用程序。 该应用程序只是一个flipside视图控制器,是相当简单的,但如果有一种方法来从故事板中提取XIB,我宁愿这样做,而不是重新创build它。
tl; dr:从.storyboard中获取.xibs?
Xib文件不能从故事板中提取,但你可以通过将故事板实例化为UIStoryboard对象并通过其标识符获取UIViewController来实例化故事板中的UIViewControllers,下面是我的操作:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]]; UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"myId"];
希望这可以帮助。
我发现最简单的方法是复制并粘贴故事板中的项目,一次一个视图,并为每个视图重新创build视图控制器。
但是,对于这样做的任何人,请注意,除了所有其他XIB之外, 还必须为MainWindow创build一个 xib,然后相应地将其挂起,包括设置窗口和应用程序委托。 故事板为你处理所有这些,所以当你试图避开它们时,你有很多的手动设置,从你开始的手柄创build非故事板项目。 不要做我所做的事情,并尝试让你的根控制器作为你的主视图控制器,因为它会坚持说一些关于UIApplication如何不是你的XIB的各个属性的键值兼容的事情。
正如其他一些人所build议的,最好的办法是将故事板中的视图克隆到XIB中。
得到xib文件是不可能的。 您的故事板被编译为nib文件,并打包到应用程序包中的storyboardc文件中。
要查找nib文件,请在Finder中select您的可执行文件,然后右键单击“显示包内容”。 浏览至en.lproj目录并findstoryboard.storyboardc文件。 在故事板文件上再次右键单击“显示包内容”,你会发现你的鸟嘴。 它们对你来说不会有多大用处,因为它们是编译的二进制笔尖。
您可能无法从故事板中提取.xibs,但试试这个。 打开基于.xib的项目并为您的视图创build空的.xib文件,同时打开storyboard项目。 select故事板场景中的所有UI元素,然后将其拖放到基于.xib的项目中。 我反过来(从.xib移动到storyboard)没有任何问题。