如何从iPhone / iPad的故事板迁移到通用的故事板
我有一个在Xcode 5中创build的项目。“部署信息”设置显示Devices:Universal,但具有独立的iPhone和iPad设置以及相应的iPhone和iPad故事板。
现在我正在Xcode 6中开发相同的项目,我想使用一个通用故事板而不是两个故事板。 我只在iPhone的故事板上工作,并没有触及iPad。 是否有可能沟通iPad故事板,并将现有的iPhone故事板转换为我的主要通用故事板?
我通过@tharkay调整了本教程和一个类似的解决scheme ,以在下面创build该解决scheme。
- 将
Main_iPhone.storyboard
重命名为Main.storyboard
- 删除
Main_iPad.storyboard
- ***如果要使用iPad故事板而不是iPhone,请将
Main_iPad.storyboard
重命名为Main_iPad.storyboard
,然后删除Main_iPhone.storyboard
文件。 然后,您需要转到文件检查器并右键单击故事板,然后select“作为源代码打开”。 这将显示所有的XML代码。 将targetRuntime
从"iOS.CocoaTouch.iPad"
更改为"iOS.CocoaTouch"
从:
targetRuntime="iOS.CocoaTouch.iPad"
至:
targetRuntime="iOS.CocoaTouch"
- 在项目文件中,在常规设置下,为iPhone和iPadselect
Main.storyboard
。
- 在
Main.storyboard
,在右侧面板上selectShow the File inspector
图标。
- 选中名为
Use Size classes
的框
- XCode会提示Xcode 5兼容性消息,select是。
- 编译并运行。
- 当然,你所有的观点都应该搞砸了,你需要重做自动布局。
我find了一个简单的解决scheme,它为我工作。
复制您的MainStoryboard
并从File
菜单中重命名为MainStoryboard_iPad.storyboard
现在右键单击MainStoryboard_iPad文件并单击open as a source code
。
你会得到一个XML文档。 现在对XML文件进行一些更改,如下所示。
searchtargetRuntime="iOS.CocoaTouch"
并将其更改为targetRuntime="iOS.CocoaTouch.iPad"
从<simulatedScreenMetrics key="destination" type="retina4"/>
到
<simulatedScreenMetrics key="destination"/>
再次在界面构build器中打开MainStoryboard_iPad
文件。 万岁…你会得到你的iPad版故事板。 现在你只需要改变你的布局的宽度和高度。
这帮助了我很多,节省了很多时间。
:)我确定它会帮助你!
在xCode 9中,我还必须将useTraitCollections="YES"
属性添加到文档标记(与targetRuntime="iOS.CocoaTouch"
相同的位置)。