Невозможно заблокировать ориентацию iPad iPad 2
Приложение iOS, над которым я работаю, имеет представление, которое необходимо заблокировать в альбомной ориентации. До этого момента это выполнялось с помощью методов shouldAutorotate
и supportedInterfaceOrientations
, но на iPad Air 2
running iOS9 beta5
эти методы никогда не срабатывали и ориентация не была заблокирована.
Я пробовал следующие устройства, методы, запущенные на всех, кроме Air2 (запуск отладки с Xcode beta6):
iPhone 6+, iPad Mini, iPad Air 2, iPad 2, iPad 3
Методы, не срабатывающие, следующие:
- (BOOL)shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationMaskLandscapeRight;
}
Просмотр контроллера отображается через presentViewController
Ответы
Ответ 1
Многозадачность может быть отключена добавлением поля UIRequiresFullScreen
в приложение info.plist с логическим значением YES
, и это позволит использовать методы делегирования ориентации shouldAutorotate
, preferredInterfaceOrientation
и supportedInterfaceOrientations
пожар.
Что касается фиксации ориентации И, поддерживающей многозадачность, я не нашел способ сделать это.
Ответ 2
Параметр "Требуется полный экран" можно включить из "Общие" целевых настроек.
![Требуется полный экран]()
При этом будет активирован код ориентации. Как упоминалось в ackerman91, вы также можете установить UIRequiresFullScreen
boolean на YES в приложении info.plist или на целевой вкладке "Информация".
Ответ 3
Я думаю, что это побочный ущерб с помощью многозадачной функции.
Вы больше не сможете предполагать, что у вас есть весь экран.
Могут быть другие способы вызова запретить многозадачный режим.