請注意,我的回答是指MPMoviePlayerController
,不MPMoviePlayerViewController
。我建議您直接或通過參考MPMoviePlayerViewController
來使用它。
首先,從來沒有直接添加任何東西到MPMoviePlayerController
的觀點。這很容易產生各種奇怪的副作用,在文檔中明確提示不要這樣做。請使用它的backgroundView
來託管您的自定義內容或MPMoviePlayerController
的view
(使其成爲兄弟)的父項。
但是,如果用戶點擊或簡單地等待,那麼這不會解決您所描述的具有該視圖/標籤/任何dis /重新出現的問題。
有辦法做到這一點,但恐怕這些都是在灰色地帶 - 或者換句話說,有蘋果被拒的機會。事實上,它不僅僅是一個灰色地帶,而且明顯違反了蘋果的開發指南。
只是,我在過去的主要應用程序中使用過這個技巧,並且從未被檢測到/拒絕。
首先,您需要找到MPMoviePlayerController實例的接口視圖。
/**
* This quirky hack tries to locate the interface view within the supposingly opaque MPMoviePlayerController
* view hierachy.
* @note This has a fat chance of breaking and/or getting rejected by Apple
*
* @return interface view reference or nil if none was found
*/
- (UIView *)interfaceView
{
for (UIView *views in [self.player.view subviews])
{
for (UIView *subViews in [views subviews])
{
for (UIView *controlView in [subViews subviews])
{
if ([controlView isKindOfClass:NSClassFromString(@"MPInlineVideoOverlay")])
{
return controlView;
}
}
}
}
return nil;
}
UIView *interfaceView = [self interfaceView];
既然已經有了實例,只需將您的視圖/標籤/視圖添加到該視圖。
[interfaceView addSubview:myAwesomeCustomView];
http://www.techotopia.com/index.php/Video_Playback_from_within_an_iOS_6_iPhone_Application – jkk
@Mak該鏈接是沒有幫助的。 – Till