1

我有一门特殊的课程来管理手势和其他事情。它强烈针对 iPhone。在 iPad 上,我需要该类 90% 不同的行为,所以我想拆分MyControllerMyController_iPhoneMyController_iPad

根据是 iPad 还是 iPhone,我将如何分配初始化适当的类?

4

2 回答 2

4

您可以按照以下方式进行操作:

MyController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    controller = [[MyController_iPad alloc] init];
} else {
    controller = [[MyController_iPhone alloc] init];
}
于 2010-10-11T10:49:34.897 回答
0

您可能想要为 iPad 等控制器子类化。当你推送/展示它时,检查你在哪个平台上,如果你在 iPad 上,展示 iPad 子类,修改后的行为。您可以使用 UI_USER_INTERFACE_IDIOM() 宏确定您使用的设备。

于 2010-10-11T10:49:53.727 回答