如何将iPhone应用程序移植到iPad(Storyboard)

348 浏览
0 Comments

如何将iPhone应用程序移植到iPad(Storyboard)

我刚刚完成了我的 iPhone 应用程序,我想要将它制作成通用应用。我已经看了一些帖子,但它们都有点旧(大约是在2010年左右)。

我现在拥有:

  • 简单的 iPhone 应用程序,最近创建(iOS 5 - Storyboard),有三个屏幕。
  • 我的应用程序代表了一个带有三张卡片的表格,用户可以通过触摸卡片来翻转它们。用户可以在第二个屏幕上输入要显示在卡片上的文本。
  • 在创建项目时,我勾选了“通用”,所以我有两个 Storyboards。除此之外,我在“联系支持”电子邮件选项上使用了 UIModalPresentationPageSheet 之外,其他都与 iPad 无关。

我希望实现的目标:

  • iPad 上的相同应用程序:我的应用程序非常简单,我不需要分割视图或详细信息。我只想要相同的对象和布局,但是有着更大和更好的图形(表格、卡片等)。

我喜欢这个想法,因为这将是一个很好的入门级迁移。

我不知道从哪里开始。当我运行 iPad 模拟器时,只会出现一个白屏。

0
0 Comments

问题出现的原因:想要将iPhone应用程序移植到iPad上,但是在设置中找不到对应的iPad storyboard文件。

解决方法:在项目设置中,找到TARGETS选项卡的Info选项。在这里有两行,分别是“Main storyboard file base name”和“Main storyboard file base name (iPad)”。将iPad的那一行的值修改为和另一行相同的值。在我的情况下,我需要将它修改为“MainStoryboard_iPhone”。

将设备设置为universal,这样就可以完美地实现移植(前提是你的自动布局设置正确)。

0
0 Comments

如何将iPhone应用程序移植到iPad(Storyboard)

在使用Storyboard的情况下,将iPhone应用程序移植到iPad可能会出现问题。下面将介绍出现问题的原因以及解决方法。

原因:

1. iPad屏幕尺寸较大,与iPhone屏幕尺寸不同,因此在移植过程中可能会导致布局错乱。

2. iPad和iPhone在运行时的目标环境不同,需要进行相应的设置才能正确运行。

解决方法:

1. 在Finder中打开Storyboard文件,复制iPhone的Storyboard并将其重命名为Main-iPad.storyboard。

2. 在xCode中,右键点击Storyboard文件,选择“open as” -> “Source Code”。

3. 搜索targetRuntime="iOS.CocoaTouch",将其修改为targetRuntime="iOS.CocoaTouch.iPad"。

4. 保存所有修改,并重新打开Xcode。此时iPad的Storyboard文件与iPhone文件内容相同,但可能会出现布局错乱的情况,需要进行手动调整。

5. 最后,将MainStoryboard_iPad.storyboard中的代码从更改为以获取iPad格式。

6. 进入"StroryBoardEx-Info.plist"文件,搜索"Main nib file base name (iPad)",将其修改为"Main-iPad.storyboard"。

通过以上步骤,可以将iPhone应用程序移植到iPad上,并解决可能出现的布局错乱问题。

0
0 Comments

iPhone应用程序如何移植到iPad(故事板)

问题的出现原因:

- UI在不同设备上的尺寸和坐标不同,需要对iPad进行适配。

问题的解决方法:

1. 在iPad的故事板上复制并粘贴每个UI元素,并根据需要调整位置和大小。

2. 重新连接所有按钮、跳转(还需要重新添加跳转名称)等。

3. 在代码中验证每个UI受到影响的位置(例如x、y坐标),确定应用程序是在iPhone还是iPad上运行,并相应地进行代码分割。

4. 如果应用程序有任何本地化,需要在iPad的故事板上更新新的UI元素。

5. 选择模拟器上的测试目标并进行测试。

为了确定应用程序在哪个设备上运行,可以使用以下代码:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // I'm running on the iPad
} else {
    // I'm running on the iPhone
}

对于简单的情况,代码的重用率是100%,需要添加的新代码很少,UI元素的复制和粘贴非常简单。希望这对其他人有用,如果有改进的建议,欢迎提出。

0