2011-02-17 51 views
9

我在UITabBarController的UINavigationController中有一個UIWebView。有時UIWebView顯示的頁面包含HTML5視頻對象。在UITabBarController的UIWebView中支持HTML5視頻的橫向模式

視頻按預期開始播放,但不支持橫向模式。

我認爲這可能是因爲我的UITabBarcontroller裏面的所有視圖控制器都不是自動轉換爲橫向模式(我聽說過「UITabBarController中的所有視圖控制器應該支持自動旋轉到橫向模式以使UITabBarController自動旋轉)

任何人。它知道什麼解決辦法?可能是一些解決方案,打開視頻本身的應用程序之外?

謝謝!

UPDATE 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(數控-A),有時包含HTML5視頻對象(如上述),以支持橫向模式(和自動旋轉/調整大小時用戶翻轉手機本身)

我不想實現由NC-B和NC-A

控制的意見,自轉爲了支持一個的UITabBarController自轉,我已經閱讀「每個選項卡上的所有當前'頂部'的視圖必須執行s houdAutorotateToInterfaceOrientation(並針對相關方向返回YES)「。

有什麼辦法解決這個問題嗎?

+0

webview本身是否旋轉?你的意思是不支持風景?崩潰,加載失敗,未調整大小? – russ36363

+0

不,它沒有(因爲它位於UITabBarController內部的導航控制器中,並不是所有時刻的所有可見視圖都支持自動旋轉)。 「不支持橫向模式」僅僅意味着當電話旋轉時它不會被旋轉和自動調整:) –

回答

1

我去的解決方案是以模態方式呈現UIWebView。然後整個視圖支持橫向,因此也支持UIWebView。

2

它會很hacky,但你可以在javascript中捕捉html5視頻的「play」事件,然後觸發一個你的webView委託會攔截的假URL。

從那裏開始,建立一個MPMoviePlayerController,將它附加到你的根視圖控制器(或者把它放在其他所有的模塊上)並按照你想要的方式設置自動旋轉。

好處是用戶可以保證本地電影播放器​​。缺點是它很黑。

+0

是的,這會有點「哈克」,但我認爲這是一個可能的解決方案。無論如何 - 我通過以模態方式呈現包含UIWebView的視圖來解決它。 –