2010-12-10 67 views
4

我可以更新detailTextLabel.text,并且UITableViewCell显示运行时的更改,但是如果我尝试更新imageView.image,它不会更改可见图像。任何想法为什么?我曾尝试在UITableViewCell上专门调用刷新,但无济于事。UITableViewCell图像未更新

-(void)getImageForURL:(NSURL*)url row:(UITableViewCell*)cell { 

    UIImage*image; 

    image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]; 

    cell.imageView.image = image; // Does not work.. 
    cell.detailTextLabel.text = @"test"; // Works 

} 

回答

1

确保单元格样式为UITableViewCellStyleDefault,因为其他单元格类型可能总是返回零个imageView,而不是按需创建一个。

+0

是的。我在最初放置一个占位符图形,然后调用这个函数来替换BG中的占位符。 – 2010-12-10 18:41:22

+0

您是否偶然将图像重置为数据源回调中的占位符?也许,下载的图像不是你所期望的?然后检查它的大小和CGImage属性。只需要踢,也可以在赋值之前和之后检查cell.imageView.image的值。 – Costique 2010-12-10 19:00:38

0

检查图像是否为零。如果它为零,那么图像不能从URL中正确获取。

+0

它没有返回零。 – 2010-12-10 18:41:40

21

尝试在设置图像后调用[cell setNeedsLayout],如果它是您为单元格设置的第一个图像。