У меня есть приложение с 4-мя диспетчерами. Один должен быть представлен только в ландшафтном режиме. Остальные 3 могут быть как ландшафтными, так и портретными.Objective-c с использованием UIInterfaceOrientationMask для управления ориентацией
В разделе «Информация о развертывании», «Ориентация устройства», «У меня вверху вниз», «Пейзаж слева» и «Пейзаж справа». В Info.plist У меня есть 3 поддерживаемых интерфейса Ориентации: Пейзаж влево, Пейзаж вправо и Портретная верхняя кнопка.
На мой взгляд, контроллер, где я хочу ТОЛЬКО пейзаж У меня есть: - (BOOL) shouldAutorotate { return YES; }
-(UIInterfaceOrientationMask) supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft+UIInterfaceOrientationMaskLandscapeRight;
}
В остальных 3 контроллеры просмотреть у меня есть: - (BOOL) shouldAutorotate { возврата ДА; }
-(UIInterfaceOrientationMask) supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
Со всеми эти параметров: 1) мнения, что должно быть только в альбомной ориентации только в альбомном, так что это хорошо. 2) Другие 3 вида могут отображаться в режиме пейзажа влево, в альбомном и портретном режимах с помощью кнопки вверху. 3) Когда я пытаюсь повернуть экран в другом портретном положении, он не вращается.
Итак, я изменяю страницу развертывания или страницу Info.plist, чтобы включить этот 4-й выбор, который не установлен. В результате 3 других вида вращаются в порядке, но режим пейзажного режима теперь поворачивается в портрет.
Что мне нужно сделать, чтобы получить мой первый вид пейзажа, а другой 3 - повернуть?
Благодарим за ответ. – Mark
Вырезание и вставка кода, как показано в контроллере представления, генерирует 2 ошибки в отношении использования необъявленной переменной appDelegate. – Mark
Здесь appDelegate является экземпляром AppDelegate. Вам нужно создать экземпляр AppDelegate. – Sunny