удалить изображение из таблицы ViewCell, созданной программно - PullRequest
2 голосов
/ 11 апреля 2010

Я хотел бы переместить imageView, содержащийся в ячейке, и он работает, но создает новое изображение на новой позиции, сохраняя старое изображение (затем отображаются два) Как я мог удалить старый ?? используемый код:

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];

каждый раз, когда я перезагружаю tableView, он создает новое перекрывающееся изображение.

[cell.contentView removeFromSuperview]; используется ранее, удаляет его, но затем новое изображение не создается.

1 Ответ

2 голосов
/ 11 апреля 2010

Есть несколько способов сделать это. Без создания подкласса вы можете установить тег в imageViewToPutInCell, а затем использовать - [UIView viewWithTag:], чтобы найти и удалить представление:

int            imageViewTag = 1234;

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