如何从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和iPadselectMain.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"相同的位置)。