把按钮放在PlayerLayer-Swift-编程



我有一个UIView,它应该使用AVPlayerLayer和AVPlayer播放视频。我这样设置玩家:

fileprivate func setUpPlayer(){

let urlPathString = Bundle.main.path(forResource: "dance", ofType: "mp4")
if let videoURL = urlPathString{
let url = URL(fileURLWithPath: videoURL)
player = AVPlayer(url: url)
playerLayer = AVPlayerLayer(player: player)

playerLayer.videoGravity = .resizeAspectFill

self.playerView.layer.addSublayer(playerLayer)


self.playerView.layer.masksToBounds = true

}
}
override func layoutSubviews() {
self.layer.cornerRadius = 15
playerLayer.frame = self.bounds
self.setupShadow(opacity: 0.6, radius: 6, offset: CGSize.init(width: 0, height: 0), color: .darkGray)
}

问题是,无论我在PlayerView上设置了多少子视图,视频实际上都会覆盖所有内容,隐藏我之前设置的所有子视图。

你知道我如何在AVPlayerLayer上放置按钮或其他UIViews而不隐藏它们吗?

更改

self.playerView.layer.addSublayer(playerLayer)

self.playerView.layer.insertSublayer(playerLayer, at: 0)

最新更新