2012-12-13 47 views

回答

17

沒有標準的方法來做到這一點。這是你的選擇。

您可以將MPMoviePlayerController's controlStyle設置爲None並創建您自己的自定義控件。缺點:這是很多工作。

您可以使用NSNotificationCenter截取MPMoviePlayerWillEnterFullscreenNotification並立即將全屏模式設置爲NO。缺點:基於用戶的iOS版本,這可能會導致閃爍或某種不良影響。

你可以去通過MPMoviePlayerController視圖的子視圖,直到你得到它包含這些都是MPTransportButton類的控件,sliderplay/pause button和全屏按鈕MPInlineTransportControls視圖。找到那個,你可以隱藏它或從它的超級視圖中刪除它。缺點:截至目前,這通過應用商店的評論,並完美支持所有當前支持的iOS版本。但這可能隨時改變。如果蘋果決定重做他們的默認視頻播放器,您可能會得到非工作代碼。

+0

+1完全正確和很好解釋的答案。 – Till

+0

在iOS 6中找不到MPInlineTransportControls視圖。 –

+2

這個答案非常有幫助,如果你使用'NSNotificationCenter'方法有點不對。您應該監聽「MPMoviePlayerDidEnterFullscreenNotification」,而不是「MPMoviePlayerWillEnterFullscreenNotification」。如果您傾聽「Will」而不是「Did」,您將在設置爲「YES」之前將「fullscreen」屬性設置爲「NO」,並且該方法不起作用。我還發現了一個視頻消失的問題,但在您調用setFullScreen:NO後繼續播放。爲了防止這種情況,我在'setFullScreen'方法之後調用了'[video pause];'然後'[video play]'。 – bergy