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