Приложение для моего iPhone отображает странное поведение при запуске на iPad в отношении поддержки изменения ориентации.
Приложение запускается с контроллером представления (для аргумента называют его представлением A) и навигациейcontroller, и shouldAutorotateToInterfaceOrientation возвращает YES только для портрета.На контроллер навигации я помещаю контроллер вида (вид B), который также возвращает YES только для портрета.Затем я помещаю другой контроллер вида (вид C) на контроллер навигации, который поддерживает все повороты и настраивает элементы на экране в зависимости от ориентации, на которую нужно повернуть.
Когда это выполняется на симуляторе iPhone и устройстве,если вы поворачиваетесь в горизонтальный вид C, а затем нажимаете кнопку «Назад», чтобы вернуться в режим B, он делает все правильно и переводит вид B обратно в портретный режим.(В симуляторе он даже автоматически поворачивает симулятор в портретное положение.)
Проблема, с которой я сталкиваюсь, заключается в том, что, когда я делаю ту же самую последовательность событий на симуляторе и устройстве iPad, вид B, которыйПоявляется, не поворачивается обратно в портрет, и контроллер Nav по-прежнему показывает информацию для представления C. Затем я нажимаю на кнопку «Назад», и вид остается прежним, но контроллер Nav отображается нормально для представления B (но все по-прежнему в альбомной ориентацииРежим).Затем, если я снова нажму кнопку «Назад», вид A появится под элементами навигационной панели вида B, и, наконец, снова нажатие вернет меня к представлению A с элементами навигационной панели A.
Если перейти к просмотру B наiPad и начать вращаться, долженAutorotateToInterfaceOrientation срабатывает с NO, пока я не достигну портретного режима, а затем все возвращается в нормальное состояние.
Приложение создается с последней выпущенной версией iPhone SDK и имеет настройки сборкиследующим образом: базовый SDK iPhone Simulator 4.0, семейство целевых устройств iPhone, развертывание iPhone OS Цель iPhone OS 3.1.3.
Есть идеи?