我有一门特殊的课程来管理手势和其他事情。它强烈针对 iPhone。在 iPad 上,我需要该类 90% 不同的行为,所以我想拆分MyController
为MyController_iPhone
和MyController_iPad
。
根据是 iPad 还是 iPhone,我将如何分配初始化适当的类?
我有一门特殊的课程来管理手势和其他事情。它强烈针对 iPhone。在 iPad 上,我需要该类 90% 不同的行为,所以我想拆分MyController
为MyController_iPhone
和MyController_iPad
。
根据是 iPad 还是 iPhone,我将如何分配初始化适当的类?
您可以按照以下方式进行操作:
MyController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
controller = [[MyController_iPad alloc] init];
} else {
controller = [[MyController_iPhone alloc] init];
}
您可能想要为 iPad 等控制器子类化。当你推送/展示它时,检查你在哪个平台上,如果你在 iPad 上,展示 iPad 子类,修改后的行为。您可以使用 UI_USER_INTERFACE_IDIOM() 宏确定您使用的设备。