www.yzc577.comSDWebImage 是怎么解决图片错位的

( www.yzc577.com )

在最早的时候用SDWebImage加载cell的图片会出现图片错位的情况… 比方说第3行的图片下载的很慢,我把它滑走,过一会下载的图片出现在了第8行,应该是cell复用的缘故…

可是现在用SDWebImage的sd_setImage方法直接就可以避免这种情况. 看了源码,没有找到它的解决办法.. 有大神知道SDWebImage是怎么解决的么

你可以仔细看看 sd_setImageWithURL: 方法的内部实现,其实每次调用该方法都会先 Cancel 掉这个UIImageView 之前请求的正在执行的操作,然后才会开始新一次的下载,利用 runtime 技术存取了相关数据,从而避免了 Cell 重用问题。

重复出现应该是cell的复用问题,当一个cell上的image没加载出来,刚好这个cell又是复用的话,那么这个cell上的image就会显示之前的图片。解决方法是在cell的prepareforreuse中将image置为nil.

(看完/读完)这篇文章有何感想! www.yzc577.com的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注