Получить текущую ориентацию iPad? - PullRequest
62 голосов
/ 29 апреля 2010

В определенном обработчике событий (а не в методе shouldAutorotateToInterfaceOrientation) как определить текущую ориентацию iPad? У меня есть текстовое поле, которое я должен анимировать (когда появляется клавиатура) в альбомном виде, но не в портретном, и хочу узнать, в какой ориентации я нахожусь, чтобы увидеть, нужна ли анимация.

Ответы [ 11 ]

0 голосов
/ 09 марта 2012

Я не знаю почему, но каждый раз, когда мое приложение запускается, первые 4 оказываются правильными, но впоследствии я получаю противоположную ориентацию. Я использую статическую переменную, чтобы посчитать это, затем у меня есть BOOL, чтобы показать, как я вручную отправляю это в подпредставления.

Так что, хотя я не добавляю новый отдельный ответ, я говорю, что используйте вышеизложенное и помните об этом. Примечание. Я получаю ориентацию строки состояния, поскольку при запуске приложения вызывается только она, и она «достаточно права», чтобы помочь мне переместить материал.

Основная проблема с этим - лениво загружаемые представления. Обязательно назовите свойство view вашего содержимого и подпредставления «До», вы устанавливаете их позиции в ответ на их ориентацию. Спасибо Apple за то, что она не дает сбоя, когда мы устанавливаем переменные, которые не существуют, заставляя нас помнить, что они нарушают ОО и заставляют нас делать это тоже ... ага, такая элегантная система, но такая сломанная! Серьезно, я люблю Native, но это просто нехорошо, поощряет плохой ОО дизайн. Не наша вина, просто напоминание о том, что ваша функция изменения размера может работать, но Apple Way требует, чтобы вы загружали представление по использованию, а не создавая и инициализируя его

...