Устройство iPad всегда неправильно ориентировано в плоском состоянии

Я знаю, что этой теме уделяется много внимания здесь, в SO, но ни одно из "решений" не работает для меня. Вот ситуация:

  1. iPad лежит на моем столе (ориентация устройства лицевой стороной вверх ), домашний экран отлично читается, но кнопка «Домой» находится сверху. Таким образом, это эффективно показывает ориентацию интерфейса «Портрет вверх, стороной вниз» .

  2. Я запускаю свое приложение

  3. Приложение вызывает beginGeneratingDeviceOrientationNotifications , чтобы убедиться, что акселерометр работает, и приходят уведомления об ориентации.

  4. При запуске мое приложение запрашивает и «ориентацию интерфейса», и «ориентацию устройства». Результаты:

      НАПРАВЛЕНИЕ ЗАПУСКА:
      НАПРАВЛЕНИЕ ИНТЕРФЕЙСА: UIIinterfaceOrientationPortrait
      ОРИЕНТАЦИЯ УСТРОЙСТВА: UIDeviceOrientationFaceUp
     

    В документации Apple говорится, что каждое приложение (интерфейс?) Запускается в портретной ориентации, так что это может иметь смысл. Ориентация устройства также правильная, потому что оно действительно лицевой стороной вверх.

  5. Сразу после запуска приходит первое уведомление об ориентации:

     УВЕДОМЛЕНИЕ 1:
      ИНТЕРФЕЙС: UIInterfaceOrientationPortrait
      УСТРОЙСТВО: UIDeviceOrientationPortrait
     

    Опять же, портрет для интерфейса (что противоречит тому, что я ожидал, главный экран отображался в перевернутой ориентации), устройство также считается портретным (что не так, но По-видимому, это умная схема для определения того, как сориентировать содержимое вашего приложения, когда устройство обращено вверх или вниз).

  6. Как отмечают многие, следует еще одно (только одно, а не два) уведомления об ориентации:

     УВЕДОМЛЕНИЕ 2  :
      ИНТЕРФЕЙС: UIInterfaceOrientationPortrait
      УСТРОЙСТВО: UIDeviceOrientationFaceUp
     

    По-прежнему портрет (а не вверх ногами) для интерфейса и обратно к лицевой стороной вверх для устройства (это правильно).

Мое приложение настраивается правильно и отображается перевернутым, что совершенно неверно.

Что я могу сделать, чтобы узнать последнее известное направление, которое отображается на главном экране и другой интерфейс на iPad?

Это приложение OpenGL только с окном и представлением. Я уже добавил в смесь UIViewController, чтобы посмотреть, дает ли это более точную информацию, но это то же самое и неверное. Я знаю, что я не единственный разработчик, который борется с этим, потому что многие приложения, которые у меня есть на моем iPad, тоже делают это неправильно, вам нужно наклонить устройство, чтобы они правильно сориентировались. Но некоторые приложения делают , кажется, все правильно, в чем секрет?

8
задан zmippie 11 June 2011 в 05:56
поделиться