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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从以编程方式创建的tableViewCell中删除图像相关的知识,希望对你有一定的参考价值。

我想移动包含在单元格上的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];之前使用过,删除它但不创建新图像。

答案

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

int            imageViewTag = 1234;

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

以上是关于从以编程方式创建的tableViewCell中删除图像的主要内容,如果未能解决你的问题,请参考以下文章

无法从以编程方式创建的 UINavigationController 推送

如何从以编程方式创建的 UITableView 中分离?

如何在 Storyboard 上创建 Segue,从以编程方式注册的 UICollectionViewCell 到新的 UIViewController?

在 Swift 中单击以编程方式切换到 TableViewCell 上的导航视图

Swift:如何以编程方式在 TableViewCell 中显示 CollectionView

htaccess:从以.xml / only结尾的URL中删除尾部斜杠