Unterstützen Sie den Landschaftsmodus für HTML5-Video in UIWebView in UITabBarController

9

Ich habe ein UIWebView in einem UINavigationController in einem UITabBarController. Manchmal enthalten die von UIWebView angezeigten Seiten HTML5-Videoobjekte.

Das Video wird wie erwartet wiedergegeben, unterstützt jedoch nicht den Querformatmodus.

Ich denke, dass dies der Fall sein könnte, da nicht alle meine View-Controller innerhalb des UITabBarcontrollers automatisch in den Landscape-Modus wechseln (ich habe gehört, dass alle View-Controller in einem UITabBarController die Autorotation im Querformat unterstützen sollen, um den UITabBarController automatisch zu drehen).

Wer kennt keine Problemumgehung? Möglicherweise eine Lösung, um das Video selbst außerhalb der App zu öffnen?

Danke!

UPDATE 2011-03-15

Ich werde mich ein wenig umformulieren, aber ich fühlte nicht, dass es genug war, um eine neue Frage zu stellen. Ich habe die folgende Hierarchie:

%Vor%

Ich möchte, dass das UIWebView (in NC-A), das manchmal HTML5-Videoobjekte enthält (wie oben erwähnt), den Querformatmodus unterstützt (und automatisch dreht / verkleinert, wenn der Benutzer das Telefon selbst dreht)

Aber Ich möchte die Autorotation nicht in den Ansichten implementieren, die von NC-B und NC-A gesteuert werden

Um die Autorotation in einem UITabBarController zu unterstützen, habe ich gelesen, dass "alle Ansichten, die derzeit oben sind" in jeder Registerkarte die shoudAutorotateToInterfaceOrientation implementieren muss (und für die fragliche Ausrichtung YES zurückgibt). "

Gibt es eine Möglichkeit, das zu lösen?

    
Manne W 17.02.2011, 15:30
quelle

2 Antworten

1

Die Lösung, mit der ich ging, war, das UIWebView modal zu präsentieren. Die gesamte Ansicht unterstützt dann die Querformatausrichtung und damit auch das UIWebView.

    
Manne W 11.10.2011, 13:15
quelle
2

Es wäre ziemlich hacky, aber Sie könnten das "play" -Event des html5-Videos in Javascript erfassen und dann eine gefälschte URL auslösen, die Ihr webView-Delegierter abfangen würde.

Erstellen Sie von dort einen MPMoviePlayerController, verbinden Sie ihn mit Ihrem Root-View-Controller (oder stellen Sie ihn modal über alles andere auf) und stellen Sie Ihre Autorotation so ein, wie Sie es wollen.

Vorteil ist, dass dem Benutzer der native Movie-Player garantiert ist. Nachteil ist, dass es ziemlich hacky ist.

    
Jeff 29.09.2011 22:50
quelle