我有一个iPhone应用程序,它有一个故事板。现在我还想提供一个iPad应用程序。我问自己是否有一个函数可以帮助我将iPhone的故事板转换成iPad的故事板。

具体来说:

是否有类似的功能,还是只有手动的方式?


当前回答

进入目标摘要,将设备更改为通用, 然后向下设置iPad版本为任何你喜欢的故事板,包括一个复制和重命名一个如果你喜欢。

其他回答

最简单和最可靠的方法是从你的iPad故事板复制粘贴。

创建一个新的故事板,并将其命名为MainStoryboard_ipad。 通过在你的项目的目标属性的Summary页上将Devices属性设置为Universal,使你的应用程序成为Universal应用程序。 打开你的iPhone故事板,选择全部并复制 打开你的iPad故事板并粘贴。

你将不得不调整大小,但这可能比重新创建整个故事板更快。

进入目标摘要,将设备更改为通用, 然后向下设置iPad版本为任何你喜欢的故事板,包括一个复制和重命名一个如果你喜欢。

这个功能现在是内置的。例如,如果将“部署信息->设备”中的项目设置从iPhone更改为Universal,则会出现以下对话框:

当我昨天遇到同样的问题时,我关注了这个帖子。我遵循的步骤

For Xcode 5.1, I had to do some cleanup of iPhone storyboard like missing reuseIdentifiers of Table cells, provide story board id for every controller, remove unused scenes. Copy MainStoryboard_iPhone.storyboard to MainStoryboard_iPad.storyboard. Using vi editor - changed targetRuntime="iOS.CocoaTouch" to targetRuntime="iOS.CocoaTouch.iPad" Change the code in the MainStoryboard_iPad.storyboard from: <simulatedScreenMetrics key="destination" type="retina4"/> to <simulatedScreenMetrics key="destination"/> Open the project in Xcode. Changed the Deployment devices to Universal - Chose the option of NOT copying the iPhone Storyboard. Xcode will default the Deployment Target to 7.1, took care of the deprecated functions. To fix the misplaced view error in iPad Storyboard - Changed the Frame Layout for Controllers giving errors.

就是这样。谢谢你的帮助。

我只是改变了(另外从@tharkay的答案):

 <device id="ipad9_7" orientation="landscape">

效果很好!

我在XCode 8.3.3中使用了这个