shouldAutorotateToInterfaceOrientation с различиями между iPad и iPhone

У меня есть приложение для iPhone, которое я создал как универсальное приложение для iPad/iPhone. Я реализовал splitviewcontroller для версии для iPad... все в порядке.

В моем приложении для iPhone все находится в портретном режиме, за исключением контроллера вида 2-го уровня (веб-представления), который я переопределяю shouldAutorotateToInterfaceOrientation, чтобы разрешить альбомную ориентацию. Вернувшись вверх по цепочке просмотра, я возвращаюсь к портрету.. Отлично!

Однако теперь мое приложение для разделенного просмотра на iPad вынуждено оставаться в портретной ориентации. Если я переопределяю shouldAutorotateToInterfaceOrientation в любом из моих представлений, таких как rootviewcontroller или другие, это фактически разрешает альбомный режим в моем приложении для iPhone, чего я не могу сделать. Однако это решает мою проблему с ландшафтом на iPad.

Есть ли способ обойти это? Фактически, я хочу сказать ДА параметру shouldAutorotateToInterfaceOrientation для iPad, но не для iPhone. Я пробовал это, но это не работает, оно позволяет альбомную ориентацию на обоих устройствах:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    BOOL rotate = NO;
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        rotate = YES;
    }
    return rotate;  
}

Любой совет?


person mootymoots    schedule 19.11.2010    source источник
comment
Знаете ли вы, будет ли ваше исправление выше работать для ротации моего приложения, когда я запускаю собственный видеоплеер?   -  person nate8684    schedule 26.06.2012