3

我有一個視圖控制器已被添加到UITabBarController。在這個視圖控制器中,我有一個使用MPMoviePlayerViewController打開電影的按鈕。如何從UITabBarController呈現MPMoviePlayerViewController?

當我播放電影時,頂部導航欄仍然覆蓋在電影的頂部,有效屏蔽了部分屏幕。

但是,如果此視圖控制器不在UITabBarController內,則電影播放良好。

任何人都知道發生了什麼事?

回答

4

想通了。我想事情會變得怪異,因爲MPMoviePlayerViewController有一個方法作爲UIViewController被稱爲presentMoviePlayerViewControllerAnimated:的類別添加。通常你會這樣稱呼它在你的UIViewController

[self presentMoviePlayerViewControllerAnimated:mp]; 

但在這種情況下,如果您添加了您的視圖控制器到UITabBarController棧,self是標籤欄控制器中的視圖控制器,我想這使事情變得棘手。修復方法是用父視圖控制器調用presentMoviePlayerViewControllerAnimated:,在我的情況下,該視圖控制器是另一個UIViewController,它是住房UITabBarController。我只是引用父視圖並將其添加到我的視圖控制器的init方法中,然後調用類似[parentController presentMoviePlayerViewControllerAnimated:mp]的東西。

噢。希望能幫助別人。

+0

我遇到了這個問題,不幸的是,這並不適合我: - \。 – Crystal 2011-10-07 21:59:21