繁体   English   中英

使用包含CollectionView的自定义单元格重新加载单个TableViewCell

[英]Reload single TableViewCell with Custom Cell that includes CollectionView

我有一个具有tableView的ViewController。 该tableView填充自定义单元格。 每个自定义单元格都有一个显示图像的collectionView(当每个新闻块都有图像时,想象新闻提要结构)。

现在,在一个新闻块中编辑了所有内容之后,我想刷新该tableView的单个单元格(一个新闻块)。 我尝试使用[newsList reloadRowsAtIndexPaths: ... ]前提是我确切知道该tableView Cell的indexPath,但是问题是当我向下滚动到下一个tableView Cell并在那里进行编辑后,重新加载了第二Cell来自第一个新闻块的图像将显示在第二个新闻块中。

还有其他方法可以刷新包含CollectionView的自定义单元格吗?

我发现对自定义单元格有用的事情是创建一个configureCell方法,并在您向单元格提供新信息时调用该方法。 还要记住的另一件事是在prepareForReuse中取消自定义数据,以帮助解决重用问题。

class TestCell: UICollectionViewCell {
var myInfo: String? {
    didSet {
        if let myInfo = myInfo {
            configureCell(myInfo)
        }
    }
}

var label: UILabel?

//intialize the cell somewhere here

func configureCell(info: String) {
    label?.text = info
}

override func prepareForReuse() {
    super.prepareForReuse()
    label?.text = nil
}

}

然后,您可以在任何索引路径下获取单元格并设置新信息。

希望能对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM