[英]How to reload a single cell of a collectionView in the willDisplayCell callback?
[英]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.