AVPlayerViewController

AVPlayerViewController

我正在使用Swift编写的视频播放器应用程序。

我的问题是我应该使AVPlayerViewController拐角曲线。但我只想使用AVPlayerViewController而不使用其他任何类。

我现在做了什么:

fileprivate func setupPlayer() {
    let player = AVPlayer(url: videoURL)
    let playerViewController = AVPlayerViewController()
    playerViewController.view.frame = CGRect.init(x: xPosition,
                                                  y: yPosition,
                                                  width: 200,
                                                  height: 100)
    playerViewController.player = player
    self.addChild(playerViewController)
    self.view.addSubview(playerViewController.view)
    playerViewController.didMove(toParent: self)
    playerViewController.videoGravity = AVLayerVideoGravity.init(rawValue: "")
    playerViewController.view.backgroundColor = UIColor(displayP3Red: 0/255, green: 0/255, blue: 0/255, alpha: 0)
    playerViewController.view.layer.cornerRadius = 20
    playerViewController.contentOverlayView?.isHidden = true
    playerViewController.contentOverlayView?.alpha = 0
}

问题:

我已经拥有的是: ios - 如何在Swift中将cornerRadius添加到AVPlayerViewController?-LMLPHP

解决方案示例:

,但我想在Appstore中找到类似曲线的形式:

ios - 如何在Swift中将cornerRadius添加到AVPlayerViewController?-LMLPHP

最佳答案

AVPlayerViewController在您的 View 中添加一个子层。设置playerViewController.view.layer.cornerRadius属性时,它只会影响它,而不会影响它的子项。

ios - 如何在Swift中将cornerRadius添加到AVPlayerViewController?-LMLPHP

要解决此问题,您必须使用masksToBounds图层属性裁剪 subview (或此处的子图层)。

playerViewController.view.layer.masksToBounds = true

ios - 如何在Swift中将cornerRadius添加到AVPlayerViewController?-LMLPHP

关于ios - 如何在Swift中将cornerRadius添加到AVPlayerViewController?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53968051/

10-11 20:14