Вопрос

My iPad приложение отображает полный экран фильма, используя удобный MPMoviePlayerViewController сорт. Я представляю это так:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

А позже, когда уведомил, что игра сделана, я уволяю так:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

Он работает нормально, за исключением случаев, когда пользователь поворачивает iPad во время воспроизведения фильма:

1- iPad находится в вертикальной ориентации. Мой вид вертикальный. 2- Пользователь запускает фильм в вертикальной ориентации. Игрок вертикальный. 3- Пользователь поворачивает iPad к горизонтальной ориентации. 4- Игрок переключается на свою горизонтальную ориентацию. Все идет нормально. 5 - Остановки фильма, игрок уволен, мои повторные появления, iPad все еще горизонтально, но мой взгляд остался в вертикальной ориентации, это было на шаге 1. Теперь он смотрит в сторону.

Конечно, если пользователь затем поворачивает iPad, он вернулся к нормальному. Затем мой взгляд вращается нормально, так как iPad вращается.

Кто-нибудь когда-нибудь сталкивался? Легко исправить?

Спасибо.

Это было полезно?

Решение

Я столкнулся с этим многочисленным временем, и кажется, что Apple Bug (и сообщили об этом как таковой).

Единственный способ (я нашел) вокруг этого - слушать UIDeviceOrientationDidChangeNotification а также UIApplicationDidChangeStatusBarOrientationNotification Уведомления. Использовать относительную временную метку на этих уведомлениях; Если они оба встречаются в течение секунды, вы можете быть уверены, что изменение строки состояния является результатом ориентаций переключения пользователей, а не средней среды SDK, изменяющих ориентацию строки состояния. Затем, когда фильм закончен, вы можете сообщить своему контроллеру представления, что он должен вращаться в ландшафт.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top