Swift - 为什么 CALayer 图像在调试视图层次结构中不可见

问题描述 投票:0回答:1

我有一个在

CALayer
内播放的视频。一切正常,但当我转到
Debug View Hierarchy
时,播放视频的
CALayer
始终显示为空白。

为什么我看不到

CALayer
Debug View Hierarchy
上可见的视频帧?

class AVPlayerView: UIView {

    var playerLayer: CALayer?

    override func layoutSublayers(of layer: CALayer) {
        super.layoutSublayers(of: layer)
    
        playerLayer?.frame = self.bounds
    }
}

lazy var avPlayerView: AVPlayerView = {
    let playerView = AVPlayerView()
    playerView.tag = 2
    return playerView
}()

func setPlayerAndPlayerLayer(url: URL) {

    let asset = AVAsset(url: url)
    playerItem = AVPlayerItem(asset: asset)
    player = AVPlayer(playerItem: playerItem)
    contentView.addSubview(avPlayerView)
    avPlayerView.frame = self.bounds
    playerLayer.frame = avPlayerView.bounds
    avPlayerView.layer.addSublayer(playerLayer!)
    avPlayerView.playerLayer = playerLayer
    avPlayerView.layoutIfNeeded()
}
ios swift avfoundation avplayer calayer
1个回答
0
投票

这是可能的!使用可视化调试器时,可以在编辑器 -> 显示层中切换该功能。这会将层添加到调试导航器并选择它们,可以检查它们的属性。

© www.soinside.com 2019 - 2024. All rights reserved.