自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题

Posted 宁静暖风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题相关的知识,希望对你有一定的参考价值。

当被重用的cell将要显示时,会调用这个方法,这个方法最大的用武之地是当你自定义的cell上面有图片时,如果产生了重用,图片可能会错乱(当图片来自异步下载时及其明显),这时我们可以重写这个方法把内容抹掉。

// Cell重用时 取消上一个Cell的请求并且设置空(个人理解)
-(void)prepareForReuse
{
    [super prepareForReuse];
    // 图片置空
    [self.iconImageView setImage:nil];
    // 取消异步缓存下载的图片
    [self cancenLoadNewsImage];
}

// cy_cancelImageRequestWithURL 相当于 sdwebimage
- (void)cancenLoadNewsImage
{
    if (!self.post.postTagSmallImageUrl || self.post.postTagSmallImageUrl == 0) return;
    [self.iconImageView cy_cancelImageRequestWithURL:[NSURL URLWithString:self.post.postTagSmallImageUrl]];
}

 

以上是关于自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题的主要内容,如果未能解决你的问题,请参考以下文章

重用自定义 UITableViewCells,在新图片加载前简要查看旧 UIView 图片

iOS--当cell上显示不同数量图片的时候重用

怎样让自定义Cell的图片和文本自适应高度

自定义非等高 Cell

iOS小技能:cell的重用原理及自定义cell

sina中的附件图片处理