Ipad 应用程序到 Iphone 应用程序

Posted

技术标签:

【中文标题】Ipad 应用程序到 Iphone 应用程序【英文标题】:Ipad app to Iphone app 【发布时间】:2013-07-18 19:19:34 【问题描述】:

我创建了一款外观精美的 ipad 应用程序,它可以填满屏幕并且运行良好。但是,我希望它在设计方面也能在 iphone 上工作。我可以在 iphone 上使用它,但所有的图形和所有东西都是超大尺寸的。

我不想重新创建所有图像和图形,然后创建一个新的样式表。如果必须,那我会,但有更好的方法吗?

也许下次只为 iphone 构建并让他们“2x”它?

任何输入都会很棒!谢谢。

【问题讨论】:

这是通用应用吗?您使用的是故事板还是 .Xib 文件? 这被标记为通用的。我不确定故事板和 .xib 之间的区别。我正在将 xcode 与 cordova lib 一起用于电话间隙。 当你使用 .xib 文件时,你会为每个 UIViewcontroller 创建一个文件以显示为视图,当你使用故事板时,所有视图都在同一个文件中raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1 【参考方案1】:

在应用程序的摘要选项中,只需将设备选项标记为通用,然后为 iPad 和 iPhone 使用相同的故事板和相同的图像,如果您不喜欢某些图像在 iPhone 或iPad 你可以像这样检测设备:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
 // is iPad change some image or some item.
else
//is iPhone change some image or some item. 

希望对你有帮助。

【讨论】:

默认是通用的。但是由于某种原因,iphone模拟器中的图像和文字完全被炸毁了。【参考方案2】:

您不必重新创建许多图形。您应该能够将几乎所有这些设置为自动调整其视图的范围。我认为,在大多数情况下,这是默认行为。您将不得不在 xib 或代码中调整视图大小。

Moises 的回答涵盖了代码案例。

UI_USER_INTERFACE_IDIOM() 方法等价于 [[UIDevice currentDevice] userInterfaceIdiom],它可以为您节省一些输入。

处理 xib 的最简单方法是复制文件。 (您也可以尝试使用 xib 中的自动调整大小工具,但它们无法提供非常精细的控制)。

创建 iPhone xib 的最简单方法(据我所知):

在 Finder 中找到您的项目文件夹 对于每个 xib:右键单击 -> 复制(由于某种原因,您不能在 Xcode 中执行此操作) 将每个新文件名末尾的“copy.xib”替换为“~iphone.xib”(区分大小写的“~iPhone”不起作用。) 打开 Xcode 并将文件添加到您的项目中 调整大小以在 iPhone 上看起来不错。请记住,视图的新宽度应为 320(除非您希望 iPhone 视图能够旋转,在这种情况下,考虑到 iPhone 的两种不同屏幕尺寸,这会变得更加困难。)

这就解决了。您的所有 IBOutlets 等都应该通过复制过程自然地保留下来。

如果您只需调整外观即可将应用程序从 iPad 转移到 iPhone,那么您将获得更大的力量。我们不得不减少我们在很多页面上显示的内容量并添加一些新视图,否则通常会在我正在处理的项目中调整应用程序的流程。

【讨论】:

以上是关于Ipad 应用程序到 Iphone 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

从 iPhone 版本链接到应用商店中的 iPad 应用

Ipad 应用程序到 Iphone 应用程序

这是不是可以从 xcode 将 iphone 应用程序运行到 ipad 物理设备中?

将具有相同 iPhone 应用名称的 iPad 应用上传到 Appstore

如何从仅 iPhone 应用程序过渡到 iPhone 和 iPad 应用程序?

将仅限 iPhone 的应用程序升级到 Universal 不会创建 -ipad 类