gpt4 book ai didi

ios - AVPlayerLayer 未将大小更改为单元格边界

转载 作者:行者123 更新时间:2023-11-28 08:18:34 26 4
gpt4 key购买 nike

我试图让 AVPlayerLayer 填充单元格空间,但是通过设置 frame 属性,它不会改变它的大小。

在我的自定义单元格文件中:

 override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)


let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let player = AVPlayer(url: videoURL! as URL)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = contentView.bounds;
contentView.layer.addSublayer(playerLayer)
player.play()
}

然后在我的 uitableviewcontroller 文件中:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "clipHomeCells", for: indexPath) as! ClipTableViewCell
// Configure the cell...
return cell
}

但它看起来像这样:

enter image description here

最佳答案

CALayer 对象在扩展时不会自动调整大小以填充它们所属的 View 。因此,该图层仍然具有您最初为其提供的相同框架。如果稍后由于自动布局或 heightForRow(at:) 委托(delegate)方法更改单元格大小,则 CALayer 框架将不会更新以匹配。

我过去处理这个问题的方法是创建一个 UITableViewCell 的自定义子类,它管理 CALayer 并在 layoutSubviews()< 中适本地调整它的大小

关于ios - AVPlayerLayer 未将大小更改为单元格边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41903071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com