THE SCENARIO 我正在开发一个容器UIView,它将保存典型视频播放器的控件。控件将是播放和暂停视频的PLAY按钮,以及用于更改视频中位置的TIME滑块。这些控件将添加到容器视图中,然后将添加到播放器的顶部。
问题当我将UIView子类化并制作背景色clearColor
时,我得到的是一个黑色视图,它会添加到我的播放器之上。所以我看不到视频播放,这很糟糕。
- (id)initWithFrame:(CGRect)frame andMediaType:(MediaType) mediaType {
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.backgroundColor = [UIColor clearColor];
self.controlFrame = frame;
self.mediaType = mediaType;
}
return self;
}
问题如何将UIView子类化为正确使其成为背景clearColor
或使其成为“不可见”,以便它不会覆盖播放器,但仍然让它的子视图(控件)在播放器上保持可见吗?
例证
修改
以下是我创建这些视图的方法。我称之为:
if (!self.player) {
[self setUpPlayer];
}
if (!self.controlView) {
[self setUpControlsForPlayerWithType:mediaType];
}
并按照以下方式构建它们:
-(void)setUpControlsForPlayerWithType:(MediaType) mediaType {
self.controlView = [[MediaPlayerControlView alloc] initWithFrame:CGRectMake(0, 0, self.feedImageView.frame.size.width, self.feedImageView.frame.size.height)];
[self.feedImageView addSubview:self.controlView];
}
-(void)setUpPlayer {
self.player = [[RTMoviePlayerController alloc]initWithURLString:kSampleMedia];
self.player.view.frame = CGRectMake(0, 0, self.feedImageView.frame.size.width, self.feedImageView.frame.size.height);
[self.player setControlStyle:RTMovieControlStyleEmbedded];
[self.feedImageView addSubview:self.player.view];
}