2010-12-10 9 views
4

Ich kann die detailTextLabel.text aktualisieren und die UITableViewCell zeigt die Änderungen zur Laufzeit, aber wenn ich versuche, die imageView.image zu aktualisieren, ändert es nicht das sichtbare Bild. Irgendeine Idee warum? Ich habe versucht, eine Aktualisierung auf der UITableViewCell speziell, aber ohne Erfolg aufzurufen.UITableViewCell Bild nicht aktualisiert

-(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 

} 

Antwort

1

Stellen Sie sicher, dass der Zellenstil UITableViewCellStyleDefault ist, da andere Zellentypen immer nil imageView zurückgeben können, anstatt einen on demand zu erstellen.

+0

Es ist. Ich lege zuerst eine Platzhaltergrafik an und rufe dann diese Funktion auf, um den Platzhalter in der BG zu ersetzen. –

+0

Haben Sie das Bild zufällig auf den Platzhalter in Ihrem Datenquellenrückruf zurückgesetzt? Vielleicht ist das heruntergeladene Bild nicht das, was Sie erwarten? Überprüfen Sie dann seine Größe und CGImage-Eigenschaften. Überprüfen Sie einfach den Wert von cell.imageView.image vor und nach der Zuweisung. – Costique

0

Überprüfen Sie, ob das Bild Null ist oder nicht. Ist dies nicht der Fall, wird das Image nicht korrekt von der URL abgerufen.

+0

Es gibt keine Null zurück. –

21

Versuchen Sie, nach dem Einstellen des Bildes [cell setNeedsLayout] aufzurufen, wenn es sich um das erste Bild handelt, das Sie für die Zelle festlegen.

Verwandte Themen