问题描述
我有一个AVPlayerViewController并想在播放器上显示UILabel,但无法显示UILabel。当我使用MPMoviePlayerViewController时,此方法可以很好地工作,但是由于切换到AVPlayerViewController,它不再起作用。
我这样启动AVPlayer:
AVPlayer *player = [AVPlayer playerWithURL:theURL];
AVPlayerViewController *theMovie = [[AVPlayerViewController alloc] init];
[self presentViewController:theMovie animated:YES completion:nil];
theMovie.player = player;
[player play];
UILabel定义为lbloverlayView,其设置如下:
lbloverlayView = [[UILabel alloc] init];
lbloverlayView.frame = CGRectMake(0,100,self.view.frame.size.width,60);
lbloverlayView.backgroundColor = [UIColor blackColor];
lbloverlayView.alpha = 0.5f;
Nsstring *combinedString1 = [@"Now Playing" stringByAppendingString:@" "];
Nsstring *combinedString2= [combinedString1 stringByAppendingString:@"podcasts"];
lbloverlayView.text =combinedString2;
lbloverlayView.textColor = [UIColor whiteColor];
lbloverlayView.textAlignment = NSTextAlignmentCenter;
lbloverlayView.numberOfLines = 0;
lbloverlayView.font =[UIFont boldSystemFontOfSize:14];
lbloverlayView.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin);
[theMovie.view addSubview:lbloverlayView];
[theMovie.view bringSubviewToFront:lbloverlayView];
如何使UILabel出现?
解决方法
使用控制器的.contentOverlayView
:
//[theMovie.view addSubview:lblOverlayView];
//[theMovie.view bringSubviewToFront:lblOverlayView];
[theMovie.contentOverlayView addSubview:lblOverlayView];