UITableViewCell 占位符图片
Posted
技术标签:
【中文标题】UITableViewCell 占位符图片【英文标题】:UITableViewCell placeholder image 【发布时间】:2016-02-12 09:30:03 【问题描述】:我正在使用 AFNetworking 为单元格占位符加载我的图像。这是我的代码示例。 (来自here的令牌)
NSURL *url = [NSURL URLWithString:daysWeather.weatherIconURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
UIImage *placeholderImage = [UIImage imageNamed:@"placeholder"];
__weak UITableViewCell *weakCell = cell;
[cell.imageView setImageWithURLRequest:request
placeholderImage:placeholderImage
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
NSLog(@"Load placeholder img");
weakCell.imageView.image = image;
[weakCell setNeedsLayout];
failure:nil];
return cell;
现在我有一个问题。这些图像是否每次都加载,当它变得可见时?如您所见,我在成功块中添加了NSLog(@"Load placeholder img");
。而且我看到,这段代码每次都会调用,当单元格变得可见时(在它可见之后,消失并再次变得可见)
【问题讨论】:
【参考方案1】:是的成功块每次调用。但是 AFNetworking 只会下载一次图像并将其保存在缓存中。一旦您再次请求相同的 URL 或图像,它将直接从缓存中加载图像(如果可用)。
另外,如果您不想在块中执行任何特定操作,则只需使用 setImageWithURL:placeholderImage。
【讨论】:
谢谢。你说的对。我禁用了网络,并尝试上下滚动我的 tableView。调用成功块,图像没有消失。 只有删除应用才会删除缓存。 @iosEnthusiatic:这不是真的,如果出现存储空间不足的问题,缓存将被清除。届时操作系统会自动清除缓存 我不能发布它?例如,如果我有 VC_A 和 VC_B,则在 VC_B 中我有图像加载。 VC_A > VC_B > VC_A(vc_b 已释放)所有 VC_B 图像仍在缓存中吗? @Arthur,是的,图片将在缓存中。以上是关于UITableViewCell 占位符图片的主要内容,如果未能解决你的问题,请参考以下文章