围绕此主题有关于堆栈溢出的一些问题,但我无法找到解决方案。
我的tableview中的每个tableview单元格都有一个从网址加载的imageview。
图像加载正常,但每当我调用reloadData时,图像会再次加载,从而产生闪烁效果。在cellForRowAtIndexPath中,我将prepareForReuse中的图像设置为空白图像,因此它也在这里闪烁。
我知道我需要缓存图片,但我该怎么做呢?我是否需要存储自己的缓存图像并在基础数据更改时更新? AFNetworking是否默认提供此功能?
我已尝试过NSURLRequestReturnCacheDataElseLoad - 它似乎无法正常工作。
[cell.recipientProfilePic setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[user.photos objectAtIndex:0]] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:2300] placeholderImage:[UIImage imageNamed:@"blank_image_load"]
success:nil
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
}];
答案 0 :(得分:0)
使用此工具,您可以使用Cocoapods安装它:
https://github.com/rs/SDWebImage
它通过带有UIImageView
Enjoy的网址处理sd_imageWithURL:
的缓存和加载图片。