我有一个特殊的课程来管理手势和其他事情。它强烈针对iPhone。在iPad上,我需要该类别的90%不同的行为,因此我想将MyController
分为MyController_iPhone
和MyController_iPad
。
我将如何根据iPad或iPhone来分配init-init适当的类?
答案 0 :(得分:4)
您可以按以下方式执行操作:
MyController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
controller = [[MyController_iPad alloc] init];
} else {
controller = [[MyController_iPhone alloc] init];
}
答案 1 :(得分:0)
您可能希望将控制器子类化为iPad。当您按下/显示它时,请检查您所在的平台,如果您在iPad上,则显示具有修改行为的iPad子类。您可以使用UI_USER_INTERFACE_IDIOM()宏来确定您所在的设备。