0

我正在开始一个必须适用于 iPhone 和 iPad 的项目……你可以告诉我这很容易,而且我可以创建一个“通用”项目……没错。但我有一个关于“愚蠢”问题的“愚蠢”问题。在一个通用项目中,我有两个 .xib(iPhone 和 iPad)用于一个类和内部代码,我验证我是否正在使用一个或另一个

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
     // The device is an iPad running iPhone 3.2 or later.
}
else
{
     // The device is an iPhone or iPod touch.
}

好?

但你知道,在 iPad 的一个视图中,我可以显示 iPhone 一次可以显示的多个视图。例如,我对他们的课程有两个看法:

FirstView.h-FirstView.m-FirstView_iPad.xib-FirstView_iPhone.xib

SecondView.h-SecondView.m-SecondView_iPad.xib-SecondView_iPhone.xib

对于 iPhone 不是问题,但对于 iPad?在 iPad 的视图中,我可以放置第一个和第二个视图控制器,如果我为两个视图控制器有两个不同的类,那么组织起来并不容易……你有解决方案吗?或者最好的解决方案是创建两个独立的项目 iPhone 和 iPad?谢谢

4

1 回答 1

0

所以是的,我总是使用一个 theViewController.h 和一个 theViewController.m,我有一个用于 iPhone 的 theViewController.xib 和一个仅用于 iPad 的单独的 xib。如果您将 iPad xib 命名为以 theViewController~ipad.xib 结尾,则操作系统将自动识别 XIB。您必须在检查器区域的 Interface builder 中将 theViewController~ipad.xib 的类设置为与您的 iphone xib 相同的类,即该类将被称为 theViewController 然后您可以连接您在 . h 和 .m 也是将 iPad xib 命名为以 ~ipad.xib 结尾的好处,当您推送视图时,您不必在推送之前检查 idom,因为操作系统会识别 ~ipad.xib 扩展名并推送正确的视图,具体取决于在设备上..希望这对您有帮助!

于 2012-12-24T00:55:04.147 回答