从以编程方式创建的tableViewCell中删除图像

时间:2010-04-11 15:33:57

标签: iphone cocoa-touch uitableview uikit cell

我想移动包含在单元格上的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 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。如果没有子类化,您可以在imageViewToPutInCell上设置标记,然后使用 - [UIView viewWithTag:]查找并删除视图:

int            imageViewTag = 1234;

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