iOS: как сохранить ориентацию при возобновлении работы приложения с панели многозадачности? - PullRequest
2 голосов
/ 26 января 2011

Проблема:

Если я отправляю приложение в фоновый режим, когда в ориентации UIInterfaceOrientationLandscapeRight, когда я возобновляю приложение из многозадачной панели, ориентация будет UIInterfaceOrientationLandscapeLeft, которая используется по умолчанию как для снимка, так и для отображаемого представления.,Представление немедленно переориентируется, поворачиваясь назад к последней известной ориентации перед приостановкой, UIInterfaceOrientationLandscapeRight.

Известные количества:

  1. Приложение поддерживает 2 InterfaceOrientations: UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight
  2. Приложение использует автоповорот для всех контроллеров представления, переопределяющих ориентацию IfAutoRotinging для вызова ifAutoRoingToInter.из поддерживаемых
  3. Обе ориентации определены в Info.plist под ключом UISupportedInterfaceOrientations
  4. Когда приложение отправляется в фоновый режим, автоматический снимок снимается и сохраняется для поддерживаемых ориентаций
  5. Возобновление работы приложения с трамплина работает должным образом, ориентация такая же, как и при отправке на фон.

Наблюдаемое поведение:

При возобновлении работы приложения из многозадачной панели приложение получает 2 уведомления об ориентации, которые соответственно оцениваются с помощью переопределенной функции mustAutoRotateToInterfaceOrientation.Сначала UIInterfaceOrientationLandscapeLeft, затем UIInterfaceOrientationLandscapeRight.

Ожидаемые результаты:

При возобновлении работы приложения из многозадачной панели ориентация такая же, как и в случае его приостановки.Так что, если бы мы были в режиме UIInterfaceOrientationLandscapeRight, я бы ожидал возобновления с той же ориентацией.

1 Ответ

0 голосов
/ 17 октября 2011

Я знаю, что это старый пост, но ответ таков: вы не определяете ключ UISupportedInterfaceOrientations в файле Info.plist со значениями UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight.

...