在我的iPhone应用程序中,我使用的是tableView,并在tableViewcell中添加了imageView作为ContentView。
点击按钮我正在更改tableView内容。因此,每次单击一个按钮,它都应该在tableViewCell中显示相应的图像。
问题:
假设我在tableView中加载图片1.png,2.png和3.png分别点击按钮A,B和C.
现在让我们考虑一下,最初我点击按钮A并出现1.png。现在当我点击按钮B然后出现2.png但是1.png 仍然在后台。所以基本上它与tableViewCell重叠了一个新的图像。
疑难解答我已经做过:
1)我尝试发布imageView并设置imageView.image = nil;
2)我尝试重新加载表并在每次单击按钮之前清空表。
3)即使我尝试将整个代码放在cellForRowAtIndexPath
方法的 if(cell == nil)子句中
答案 0 :(得分:0)
您是否尝试清除单元格的contentView?
for(UIView* subview in [cell.contentView subviews]) {
[subview removeFromSuperview];
}
答案 1 :(得分:0)
如果您使用三个不同的imageViews,那么尝试imgView1.hidden = FALSE; imgView.hidden = TRUE; imgView3.hidden = TRUE on button1 click事件。 同样适用于buttton2和button3。
答案 2 :(得分:0)
您似乎已在(cell == nil)块中设置了图像。如果是,请评论出来。
这样做:
if(cell ==nil){
//add image view here.
}
UIImageView *imgView = (UIImageView *)[cell.contentView viewWithTag:ImgViewTag];
if(condition)
imgView.image = someImage;
else
imgView.image = nil;
答案 3 :(得分:0)
感谢你们所有人。我得到了答案,我非常感谢Ben Gottlieb。
在下面的链接中找出Ben Gottlieb的答案。它对我有用。
感谢Ben Gottlieb !!!!
remove-image-from-tableviewcell-created-programatically
希望这有助于某人!!