14

我无法弄清楚如何在通用应用程序中为 iPad 或 iPhone 加载单独的 XIB。

将 Xcode 项目转换为 Universal 并具有单独的主视图界面很容易。

我的问题是辅助视图并让它为 iPad 和 iPhone 提供单独的界面。

请提供您可以提供的任何帮助,因为我已经在这个问题上工作了几天但没有成功。提前致谢!

4

3 回答 3

32

我知道@indragie 的答案是一个非常常见的答案,但这是一个常见的误解,它会导致你做的工作比你实际需要做的要多得多。

只要您以某种方式命名 xib 文件,它们就会自动为 iPhone 或 iPad 选择。在另一篇文章中查看我对同一问题的回答:

iOS:使用设备修饰符加载 xib 文件?

于 2011-03-19T17:59:46.380 回答
3

只需添加一个名为 MainView~ipad.xib 的文件,使其在 iPad 上运行时加载这个 iso MainView.xib ..

于 2011-09-08T18:13:57.143 回答
2

您可以使用UI_USER_INTERFACE_IDIOM()检查应用程序是否在 iPad 或 iPhone/iPod touch 上运行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // Running on iPad
} else {
    // Running on iPhone or iPod touch
}

有关加载 NIB 文件的更多信息,请阅读 Apple关于 Nib 文件的资源编程指南。您可能需要特别查看以编程方式加载 Nib 文件部分,该部分展示了如何使用NSBundle. 然后,您可以将其与上述代码结合使用,根据您正在运行的设备正确加载正确的 NIB。

于 2011-03-15T00:58:41.833 回答