要解决AVPlayerViewController上的关闭按钮第一次不起作用的问题,可以尝试以下代码示例:
import AVKit
class ViewController: UIViewController {
var playerViewController: AVPlayerViewController!
override func viewDidLoad() {
super.viewDidLoad()
// 创建一个AVPlayer实例
let player = AVPlayer(url: URL(string: "your_video_url")!)
// 创建AVPlayerViewController实例
playerViewController = AVPlayerViewController()
playerViewController.player = player
// 添加关闭按钮点击事件处理程序
playerViewController.delegate = self
// 在视图中展示AVPlayerViewController
present(playerViewController, animated: true) {
player.play()
}
}
}
extension ViewController: AVPlayerViewControllerDelegate {
func playerViewControllerShouldDismiss(_ playerViewController: AVPlayerViewController) -> Bool {
// 关闭按钮点击事件处理程序
playerViewController.dismiss(animated: true)
return true
}
}
上述代码中,我们首先创建了一个AVPlayer实例,然后实例化一个AVPlayerViewController,并将AVPlayer实例分配给AVPlayerViewController的player属性。此外,我们还将当前视图控制器设置为AVPlayerViewController的委托,并实现了playerViewControllerShouldDismiss方法来处理关闭按钮的点击事件。在该方法中,我们调用dismiss方法来关闭AVPlayerViewController。
上一篇:AVPlayerViewController没有显示字幕控制。
下一篇:AVPlayerViewController提示错误AddInstanceForFactory:Nofactoryregisteredforid<CFUUID0x60000365d520>