【问题标题】:How to migrate from iPhone/iPad storyboards to universal storyboard如何从 iPhone/iPad 故事板迁移到通用故事板
【发布时间】:2014-11-22 02:45:25
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    我改编了@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

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

    • 选中名为Use Size classes的框

    • XCode 将提示 Xcode 5 兼容性消息,选择 YES。
    • 编译并运行。
    • 当然,你所有的视图都应该是乱七八糟的,你需要重做自动布局。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

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

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

        删除类型 = "retina4" 作为 From <simulatedScreenMetrics key="destination" type="retina4"/>

        <simulatedScreenMetrics key="destination"/>
        

        再次在界面生成器中打开MainStoryboard_iPad 文件。 万岁...您将获得 iPad 版本的故事板。现在您只需要根据您的布局更改宽度和高度。

        这对我有很大帮助,也节省了很多时间。

        :) 我相信它会帮助你!

        【讨论】:

        • 感谢您的回答。我正在寻找一种将 iphone 故事板转换为 单个 通用故事板的方法,而不是拥有两个故事板。
        • 您找到解决方案了吗?
        • @DogEatDog - 是的,这对我帮助很大,节省了我 1-2 天的时间。 :) 你可以自己试试。
        猜你喜欢
        • 2015-09-20
        • 1970-01-01
        • 2016-08-10
        • 2013-11-16
        • 2012-02-20
        • 2016-05-31
        • 2014-05-20
        • 1970-01-01
        • 2012-01-17
        相关资源
        最近更新 更多