我有一个tableView
,我在其中使用单元格重用。
当我快速滚动时,我可以短暂地看到之前单元格中的标签和其他内容显示在新生成的单元格上。
对于最终用户来说,它可能会出现错误,我正在寻找一种在单元格可见之前缓存或加载单元格的方法,以避免这种情况。
我还写了一个重置函数:
func resetCell(cell: UITableViewCell){
for v in cell.contentView.subviews{
if let v = v as? UILabel{
v.text = ""
}else if let v = v as? UIImageView{
v.image = nil
}
}
}
但是并没有成功...
有什么想法吗?
最佳答案
为了重置内容,您应该重写 UITableViewCell 或 UICollectionViewCell 子类上的方法 - (void)prepareForReuse;
。以下是执行此操作的示例:
- (void)prepareForReuse {
_imageView.image = nil;
_asset = nil;
[super prepareForReuse];
}
此外,如果您有任何与此单元格相关的下载,prepareForReuse 是取消该下载的最佳位置。
关于ios - 如何改变细胞重用行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32154768/