我无法弄清楚如何在通用应用程序中为 iPad 或 iPhone 加载单独的 XIB。
将 Xcode 项目转换为 Universal 并具有单独的主视图界面很容易。
我的问题是辅助视图并让它为 iPad 和 iPhone 提供单独的界面。
请提供您可以提供的任何帮助,因为我已经在这个问题上工作了几天但没有成功。提前致谢!
我无法弄清楚如何在通用应用程序中为 iPad 或 iPhone 加载单独的 XIB。
将 Xcode 项目转换为 Universal 并具有单独的主视图界面很容易。
我的问题是辅助视图并让它为 iPad 和 iPhone 提供单独的界面。
请提供您可以提供的任何帮助,因为我已经在这个问题上工作了几天但没有成功。提前致谢!
我知道@indragie 的答案是一个非常常见的答案,但这是一个常见的误解,它会导致你做的工作比你实际需要做的要多得多。
只要您以某种方式命名 xib 文件,它们就会自动为 iPhone 或 iPad 选择。在另一篇文章中查看我对同一问题的回答:
只需添加一个名为 MainView~ipad.xib 的文件,使其在 iPad 上运行时加载这个 iso MainView.xib ..
您可以使用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。