我需要向 AVPlayerViewController 添加一个自定义按钮,该按钮将显示在运行 iOS 8 的应用程序的全屏和非全屏中。
将按钮添加到 AVPlayerViewController.view 或包含视图将适用于非全屏,但当播放器切换到全屏时,该按钮不再可见。我发现如果我向 AVPlayerViewController.ContentOverlayView 添加一个按钮,那么它会出现在全屏和非全屏模式中,但是 ContentOverlayView 似乎不会响应任何触摸,因此无法单击该按钮。有谁知道添加按钮的不同位置或使 ContentOverlayView 响应触摸的方法?
示例代码
AVPlayerViewController *playerView = [[AVPlayerViewController alloc] init];
playerView.player = [AVPlayer playerWithURL:movieURL];
CGRect viewInsetRect = CGRectInset ([self.view bounds],
kMovieViewOffsetX,
kMovieViewOffsetY );
/* Inset the movie frame in the parent view frame. */
[[playerView view] setFrame:viewInsetRect];
[self.view addSubview: [playerView view]];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.backgroundColor = [UIColor yellowColor];
btn.frame = CGRectMake(50, 50, 200, 75);
[btn addTarget:self action:@selector(didSelectButton:) forControlEvents:UIControlEventTouchUpInside];
[btn setUserInteractionEnabled:YES];
[btn setEnabled:YES];
[playerView.contentOverlayView addSubview:btn];
Run Code Online (Sandbox Code Playgroud)