Поддержка ландшафтного режима для видео HTML5 в UIWebView в UITabBarController - PullRequest
9 голосов
/ 17 февраля 2011

У меня есть UIWebView внутри UINavigationController в UITabBarController. Иногда страницы, отображаемые UIWebView, содержат видеообъекты HTML5.

Видео начинает воспроизводиться, как и ожидалось, но не поддерживает альбомный режим.

Я думаю, что это может быть связано с тем, что не все мои контроллеры представлений в UITabBarcontroller автоматически переключаются в ландшафтный режим (я слышал о том, что «все контроллеры представлений в UITabBarController должны поддерживать автоматическое переключение в ландшафтный режим, чтобы сделать UITabBarController автоматически).

Кто-нибудь знает обходной путь? Возможно какое-то решение, чтобы открыть само видео вне приложения?

Спасибо!

ОБНОВЛЕНИЕ 2011-03-15

Я немного перефразирую себя, но я не чувствовал, что этого было достаточно, чтобы создать новый вопрос. У меня есть следующая иерархия:

UITabBarController
    UINavigationController (NC-A)
        UITableView
        UIWebView (pushed from UITableView)
    UINavigationController (NC-B)
        A number of UITableViews
    UINavigationController (NC-C)
        A number of UITableViews

Я хочу, чтобы UIWebView (в NC-A), который иногда содержит видеообъекты HTML5 (как упомянуто выше), поддерживает ландшафтный режим (и авто-вращение / -размер, когда пользователь переворачивает сам телефон)

Но Я не хочу реализовывать автоповорот в видах, контролируемых NC-B и NC-A

Чтобы поддержать авторотацию в UITabBarController, я прочитал, что «все представления, которые в настоящее время находятся сверху на каждой из вкладок, должны реализовывать shoudAutorotateToInterfaceOrientation (и возвращать YES для рассматриваемой ориентации)».

Есть ли способ решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

Это было бы довольно забавно, но вы могли бы захватить событие «воспроизведения» видео html5 в javascript, а затем запустить фальшивый URL-адрес, который перехватит ваш делегат webView.подключите его к корневому контроллеру просмотра (или установите его поверх всего остального) и настройте свое автоповорот так, как вы этого хотите.

Преимущество заключается в том, что пользователю гарантирован родной видеоплеер.Недостаток в том, что он довольно хакерский.

1 голос
/ 11 октября 2011

Решением, с которым я пошел, было модальное представление UIWebView.Тогда весь вид поддерживал альбомную ориентацию и, следовательно, также UIWebView.

...