MPMoviePlayerViewController,删除quicktime符号/添加背景图像?

时间:2011-11-30 20:37:16

标签: iphone objective-c ios mpmovieplayercontroller

我有一个播放音频的MPMoviePlayerViewController。我想删除Quicktime徽标和/或向播放器添加自定义背景图像,但保留播放控件。我发誓我已经在iOS 5之前完成了这个,但我无法重新弄明白!我尝试过的事情:

- 将子视图添加到MPMoviePlayerViewController。将子视图放在播放控件上,不太好。

带有patternimage的moviePlayer的-setBackgroundColor。什么都不做。

整个MPMoviePlayerViewController上的

-setView。正如预期的那样,播放控件和导航栏都消失了。我想这可行,但我需要手动重新创建所有播放控件,但我真的不愿意。

任何人都能解释一下吗?

2 个答案:

答案 0 :(得分:8)

查看MPMoviePlayerController属性backgroundView

来自MPMoviePlayerController Class Reference;

  

backgroundView

     

电影背后显示的可自定义视图   内容。 (只读)

     

@property(非原子,只读)UIView * backgroundView

     

讨论这个   view提供了支持内容,其中包含电影内容   被展示。如果需要,可以将子视图添加到背景视图中   显示自定义背景内容。

     

此视图是视图属性返回的视图层次结构的一部分。

     

可用性适用于iOS 3.2及更高版本。宣告进入   MPMoviePlayerController.h

尝试这样的事情(假设你的MPMoviePlayerController实例被称为moviePlayerController):

patternView = [[UIView alloc] initWithFrame:self.view.bounds];
patternView.backgroundColor = [UIColor redColor];
[moviePlayerController.backgroundView addSubview:patternView];
[patternView release];

答案 1 :(得分:2)

直到iPhoneOS 3的答案是正确的。这在iOS 4和5中已经改变。

Apple现在向MPMoviePlayerViewController添加了一个readonly属性,暴露了一个MPMovieController。 MPMovieController有一个应该使用的backgroundView。

现在你想要做这样的事情:

patternView = [[UIView alloc] initWithFrame:self.view.bounds];
patternView.backgroundColor = [UIColor redColor];
[moviePlayerController.moviePlayer.backgroundView addSubview:patternView];
[patternView release];