0

我在 MKNetworkKit 中使用 UIImageView+MKNetworkKitAdditions 来显示来自网络的图像,但是当 UIImageView 在 tableView 单元中时,该方法

-(MKNetworkOperation*) setImageFromURL:(NSURL*) url 
                      placeHolderImage:(UIImage*) image 
                             animation:(BOOL) yesOrNo;

图像下载后不会立即显示图像。如果我使用

[tableView reloadData]

我不会看到显示图像的动画。所以我想知道如何解决这个问题。谢谢你。

我的代码在这里

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
[cell.imageView setImageFromURL:[NSURL URLWithString:@"https://www.google.com/images/srpr/logo11w.png"]];
return cell;
}
4

1 回答 1

0

问题是UITableViewCell绘图非常优化,当调用此方法时,imageView 中没有图像,因此单元格假定不需要渲染图像。

现在,当网络请求完成时,它会设置图像,但不会要求单元格重绘,因此您什么也看不到。

您需要使用具有完成块的方法,然后在图像请求完成时要求单元重新加载。

于 2013-12-28T11:08:28.653 回答