Как переключаться между различными классами в универсальном приложении для iPhone / iPad? - PullRequest
1 голос
/ 11 октября 2010

У меня есть специальный класс, который управляет жестами и другими вещами. Это сильно нацелено на iPhone. На iPad мне нужно 90% другое поведение этого класса, поэтому я хочу разделить MyController на MyController_iPhone и MyController_iPad.

Как бы я выделил-инициализировал соответствующий класс в зависимости от того, iPad это или iPhone?

Ответы [ 2 ]

4 голосов
/ 11 октября 2010

Вы можете сделать что-то вроде следующего:

MyController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    controller = [[MyController_iPad alloc] init];
} else {
    controller = [[MyController_iPhone alloc] init];
}
0 голосов
/ 11 октября 2010

Возможно, вы захотите создать подкласс контроллера, скажем, для iPad. Когда вы нажимаете / представляете его, проверьте, на какой платформе вы находитесь, и, если вы на iPad, представьте подклассу iPad измененное поведение. Вы можете использовать макрос UI_USER_INTERFACE_IDIOM (), чтобы определить, на каком устройстве вы находитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...