如何从iPhone / iPad故事板迁移到通用故事板

时间:2014-09-27 02:02:01

标签: ios storyboard xcode5 xcode6 ios-universal-app

我在Xcode 5中创建了一个项目。"部署信息"设备说:设备:通用但具有单独的iPhone和iPad设置以及相应的iPhone和iPad故事板。

现在我正在Xcode 6中开发相同的项目,我想使用一个通用故事板而不是两个故事板。我只是在iPhone故事板上工作,并没有触及iPad。是否有可能放弃iPad故事板并将现有的iPhone故事板转换为我的主要通用故事板?

3 个答案:

答案 0 :(得分:14)

我通过@tharkay修改了this tutorialsimilar solution来创建此解决方案。

  • Main_iPhone.storyboard重命名为Main.storyboard
  • 删除Main_iPad.storyboard
  • ***如果您想使用iPad故事板而不是iPhone,请将Main_iPad.storyboard重命名为Main.storyboard并删除Main_iPhone.storyboard文件。然后,您需要转到文件检查器并右键单击故事板,然后选择“作为源代码打开”。这将显示所有XML代码。将targetRuntime"iOS.CocoaTouch.iPad"更改为"iOS.CocoaTouch"

自:

targetRuntime="iOS.CocoaTouch.iPad" 

到:

targetRuntime="iOS.CocoaTouch"
  • 在项目文件中,在常规设置下,为iPhone和iPad选择Main.storyboard

enter image description here

  • Main.storyboard上,在右侧面板上选择Show the File inspector图标。

enter image description here

  • 选中名为Use Size classes
  • 的复选框

enter image description here

  • XCode将提示Xcode 5兼容性消息,选择YES。
  • 编译并运行。
  • 当然,你的所有观点都应该搞砸了,你需要重做自动布局。

答案 1 :(得分:4)

在xCode 9中,我还必须将useTraitCollections="YES"属性添加到文档标记(targetRuntime="iOS.CocoaTouch"所在的相同位置)。

答案 2 :(得分:1)

我找到了一个简单的解决方案,它对我有用。

复制MainStoryboard并从MainStoryboard_iPad.storyboard菜单重命名为File

现在右键单击您的MainStoryboard_iPad文件,然后单击open as a source code

您将获得XML文档。 现在在XML文件中进行一些更改,如下所示。

搜索targetRuntime="iOS.CocoaTouch"并将其更改为targetRuntime="iOS.CocoaTouch.iPad"

将From = "retina4"删除为From <simulatedScreenMetrics key="destination" type="retina4"/>  到

<simulatedScreenMetrics key="destination"/>

再次在界面构建器中打开MainStoryboard_iPad文件。 华友世纪......你将获得你的iPad版故事板。现在您只需根据布局更改宽度和高度。

这对我有很多帮助并节省了很多时间。

:)我相信它会对你有帮助!