我有一個應用程序通過MPMoviePlayerViewController來播放視頻,該應用程序在嵌入UITabBarController中的UINavigationController中嵌入的UITableViewController上執行選擇操作後呈現。MPMovieViewController不自動旋轉
的TabBar控制器>導航控制器>表視圖控制器* MPMoviePlayerViewController
一切都按預期在iOS5中,但升級到iOS6的我發現,被提出後,如預期的視頻不旋轉。如果我在目標摘要頁面上選擇了更多受支持的界面方向,則會導致整個應用程序旋轉。
蘋果的文件說,在UIViewController類參考以下內容:
在iOS 6中,您的應用支持在 應用程序的Info.plist文件中定義的接口方向。視圖控制器可以覆蓋 supportedInterfaceOrientations方法以限制支持的 方向的列表。一般來說,系統只會在窗口視圖控制器的根目錄控制器或視圖控制器上顯示填充 整個屏幕;子視圖控制器使用其父視圖控制器爲其提供的窗口部分,並且不再支持 直接參與有關旋轉 支持的決策。應用程序的方向遮罩和視圖控制器的方向遮罩的交集用於確定視圖控制器可以旋轉到哪個方向。
但我不確定何時子視圖控制器實際參與輪換決策。當電影播放時,我需要改變我的標籤欄控制器對shouldAutorotate
和supportedInterfaceOrientations
的響應方式嗎?
你是否設法讓MPMoviePlayerViewController旋轉視頻?我已經subclassed MPMoviePlayerViewController並將shouldAutorotate設置爲YES,但我仍然沒有設法讓它旋轉。 –
您不需要子類MPMoviePlayerViewController - 它已將shouldAutorotate設置爲YES。如果您的MPMoviePlayerViewController在展示之後不支持旋轉,那是因爲您的應用程序不支持橫向方向。您可以在您的目標摘要頁面上直接在plist中編輯它,或者在您的AppDelegate中實現應用程序:supportedInterfaceOrientationsForWindow:。 –
是的,事實證明這是我的不好。我在應用程序委託中爲keyWindow添加了子視圖的應用程序,而不是正確設置keyWindow的根視圖控制器。事實證明,這是我的觀點不旋轉的真正罪魁禍首。不管怎麼說,還是要謝謝你! –