[UIDevice cuurentDevice] .orientation, возвращающая предыдущие значения в обратном вызове appDidBecomeActive - PullRequest
2 голосов
/ 12 марта 2012

Если я перевожу приложение в фоновый режим, нажимая кнопку «Домой», затем меняю ориентацию устройства и выводю приложение на передний план, я все равно получаю предыдущее значение ориентации устройства в [UIDevice currentDevice] .orientation.

Например, я держу устройство в ориентации по умолчанию, перевожу приложение в фоновый режим и поворачиваю устройство в ориентацию UpsideDown, затем выводю приложение на передний план, при запросе deviceOrientation по-прежнему остается значением по умолчанию.Только через некоторое время вызывается прослушиватель beginDeviceOrientationEvents, и доступно правильное значение.

Поэтому я хочу спросить, где должно быть первое место для получения правильного значения deviceOrientation при повторном запуске приложения?

1 Ответ

0 голосов
/ 03 апреля 2012

Используйте [[UIDevice currentDevice] orientation] (как описано в документации ) в методе делегата приложения applicationDidBecomeActive.

Обновление

На самом деле, [[UIApplication sharedApplication] statusBarOrientation] может быть более полезным, так как возвращаемое значение учитывает, с какими ориентациями вы установили совместимость вашего приложения.

...