2010-12-10 154 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],如果它是您爲單元格設置的第一個圖像。