首页 > 解决方案 > 视频在 UITableViewCell 中不必要地开始了

问题描述

我有一个UITableView&我正在其中播放视频,一次可以看到 3 个单元格。didSelect方法视频开始和视频didDeselectRowAt删除。

问题是我没有播放第 3 个索引单元格视频,但它从 indexPath 0 开始,好像我开始索引 1 它也开始索引 4 视频。也许是因为dequeueReusableCell?任何的想法?

源代码片段 - https://gist.github.com/RameshStack/50b1c2880d61c0abc3dedc4d88c71801

标签: iosswiftuitableviewavplayer

解决方案


清除自定义类中prepareForReuse方法中的所有数据。UITableViewCell

override func prepareForReuse() {
    super.prepareForReuse()

    guard let layers = videoView.layer.sublayers else {
        return
    }
    for layer in layers {
        if layer.name == "Video" {
            //(layer as? AVPlayerLayer)?.player?.pause()
            layer.removeFromSuperlayer()
        }
    }
}

推荐阅读