【问题标题】:Put buttons over PlayerLayer - Swift - Programmatically将按钮放在 PlayerLayer - Swift - 以编程方式
【发布时间】:2020-08-19 18:44:59
【问题描述】:

我有一个 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 上放置按钮或其他 UIView 而不实际隐藏它们吗?

【问题讨论】:

    标签: swift avfoundation avplayer avplayerlayer


    【解决方案1】:

    改变

    self.playerView.layer.addSublayer(playerLayer)
    

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

    【讨论】:

    • 谢谢!!这就是我一直在寻找的答案
    猜你喜欢
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2023-03-02
    • 1970-01-01
    • 2016-06-03
    相关资源
    最近更新 更多