我有一個特殊的類來管理手勢和其他事情。它強烈針對iPhone。在iPad上,我需要該類別的90%不同行爲,所以我想將MyController
分成MyController_iPhone
和MyController_iPad
。如何在通用iPhone/iPad應用程序中的不同類之間切換?
我該如何alloc-init取決於它是iPad還是iPhone?
我有一個特殊的類來管理手勢和其他事情。它強烈針對iPhone。在iPad上,我需要該類別的90%不同行爲,所以我想將MyController
分成MyController_iPhone
和MyController_iPad
。如何在通用iPhone/iPad應用程序中的不同類之間切換?
我該如何alloc-init取決於它是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()宏來確定您所在的設備。