从以编程方式创建的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 推送
如何在 Storyboard 上创建 Segue,从以编程方式注册的 UICollectionViewCell 到新的 UIViewController?
在 Swift 中单击以编程方式切换到 TableViewCell 上的导航视图