2 Stimmen

Bild aus einer programmatisch erstellten tableViewCell entfernen

Ich möchte ein imageView, das in einer Zelle enthalten ist, verschieben und es funktioniert, aber es wird ein neues Bild an der neuen Position erstellt, wobei das alte Bild beibehalten wird (dann werden zwei angezeigt). Wie kann ich das alte entfernen?? verwendeter Code:

UIImage *cellImage = [UIImage imageNamed:(@"%@", showIconName)];
UIImageView *imageViewToPutInCell = [[UIImageView alloc] initWithImage:cellImage];

imageViewToPutInCell.frame = CGRectMake(iconPos, 7, cellImage.size.width, cellImage.size.height); 
[cell.contentView addSubview:imageViewToPutInCell];

jedes Mal, wenn ich tableView neu lade, wird ein neues überlappendes Bild erstellt.

[cell.contentView removeFromSuperview]; zuvor verwendet, entfernt es, aber dann wird kein neues Bild erstellt.

2voto

Ben Gottlieb Punkte 84876

Es gibt mehrere Möglichkeiten, dies zu tun. Ohne Unterklassenbildung könnten Sie das Tag auf Ihre imageViewToPutInCell setzen und dann später -[UIView viewWithTag:] verwenden, um die Ansicht zu finden und zu entfernen:

int            imageViewTag = 1234;

[[cell.contentView viewWithTag: imageViewTag] removeFromSuperview];
imageViewToPutInCell.tag = imageViewTag;
...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X