【发布时间】:2013-10-24 08:39:55
【问题描述】:
现在我需要重新设计一个应用程序(iPad版),它可以在iPad上成功运行。目标设备系列是iPad,我希望它在iPhone上运行。所以我已经将目标系列更改为iPhone,但它不能跑。是因为 iPad 和 iPhone 的尺寸不同,那我怎样才能让它在 iPhone 上成功运行呢?我需要为 iPhone 创建一个新的 xib 吗?如何实现?
【问题讨论】:
现在我需要重新设计一个应用程序(iPad版),它可以在iPad上成功运行。目标设备系列是iPad,我希望它在iPhone上运行。所以我已经将目标系列更改为iPhone,但它不能跑。是因为 iPad 和 iPhone 的尺寸不同,那我怎样才能让它在 iPhone 上成功运行呢?我需要为 iPhone 创建一个新的 xib 吗?如何实现?
【问题讨论】:
是的,您需要为较小的界面创建新的 XIB。您还需要在代码中确定要为哪个设备加载哪个视图。
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
/* do something for the iPad */
else
/* do something for the iPhone */
【讨论】:
是的,您需要为 iPhone 创建新的 /xibs,iPad 应用程序无法在这样的 iPhone 上运行。不仅尺寸不同,宽高比也不同
【讨论】:
如果你真的在使用它,你可以在 iPad 和 iPhone 上使用 xib 文件。但首先你必须确保现有的 xib 文件中没有“~ipad”,因为如果有,它们只会加载到 iPad 而不是 iPhone。
您可能还想让您的应用成为通用应用,而不是两个单独的 iPhone 和 iPad 应用。
如果您使用 SplitViewController,您将不得不为 iPhone 添加单独的代码。 UIPopovers 也是如此。
【讨论】:
您必须重新设计与设备屏幕尺寸相对应的所有 UI。您可以为 iPhone 单独创建新的 xib 或 Storyboard,这样您就可以实现它。
您可以在 iPad 中使用 UIPopoverController,但它在 iPhone 中不起作用,您必须在 iPhone 中显示该视图控制器。从中您可以管理它。,
【讨论】:
它很简单,你必须更改 xib 文件,其他代码将相同
您可以从创建 xib 新文件 -> 用户界面 => 视图
【讨论】:
UISplitViewController 专门用于 iPad ;)