2012-09-26 59 views
12

要在我的應用程序中播放視頻,我設置了MPMoviePlayerController並將其添加到子視圖中。用戶可以使用捏手勢切換到全屏模式。在MPMoviePlayerController中輸入全屏調用viewWillDisappear和viewDidDisappear

在這個viewController(包含電影播放器​​視圖)中,我設置viewWillDisappear將對象設置爲nil。

但是,在iOS 6中,當激活全屏模式時,包含Movie Player View的視圖控制器中的MPMoviePlayerController調用方法viewWillDisappearviewDidDisappear

在iOS5中,這些方法未被調用。

+0

看看這個解決方案,看看它是否適合你的問題。 http://stackoverflow.com/a/15440274/1437106 – Husky

回答

16

我碰到這個問題,以及它給我帶來了很多頭疼的。我的臨時解決方案,直到bug被修復,是檢查球員的fullscreen布爾值在viewWillDisappear:和/或viewDidDisappear:。如果它返回YES,電影正在進入全屏模式,您應該避免做任何可能會中斷它的事情。

+1

也爲所有superviews調用viewWillDisappear方法。如果你有一個主控制器產生另一個包含MPMoviePlayerController的控制器,當viewWillDisappear被調用時,它會一直沿着鏈條向上。是否有一種解決方法來中斷鏈條? –

+0

我想你可以嘗試跳過''super viewWillDisappear:''的調用,基於'fullscreen'值是true還是false。但是根據你的代碼可能會導致比修復更多的問題。 – Anthony

0

我不知道這是一個問題,但如果有人有此說明,也就是這個問題一個問題的人使用的viewController(包含電影播放器​​視圖),我找到了解決辦法:

我在電影播放器​​控制器中使用視圖控制器,然後將此視圖控制器作爲子視圖呈現。我剛剛擺脫它,並直接使用MoviePlayer.view作爲子視圖,它工作得很好。

iOS 5沒有問題,但現在,它是。修復它並享受!

相關問題