在具有透明度的 UITableView 单元格中更新 UIImageView

Posted

技术标签:

【中文标题】在具有透明度的 UITableView 单元格中更新 UIImageView【英文标题】:Update UIImageView in a UITableView cell with transparency 【发布时间】:2011-08-23 16:44:05 【问题描述】:

我有一个图像视图类,它是 UIImageView 类的子类,它显示在一个 UITableView 中,该 UITableView 具有 dequeueReusableCellWithIdentifier。

@interface ImageView : UIImageView 
.
.
.

当需要将图像从一个图像更新到另一个图像时,更新本身会起作用

[self setImage:[UIImage imageWithContentsOfFile:[self resourcesDir:url]]];

但我的图像是透明的 PNG(具有相同的尺寸),因此部分可渗透图像在更新后的图像下可见(因为单元格本身被重复使用)

我尝试了各种方法让 imageView 先清除自己,但都没有奏效,这是我尝试过的:

self.image = nil;

[self setBackgroundColor:[UIColor clearColor]]; 

[self setNeedsDisplay];

[self performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:NO];

有什么想法吗?

【问题讨论】:

【参考方案1】:

确保您没有使用 UIImageView 的新实例。它必须是相同的实例,您的代码才能正常工作。您的想法听起来应该可以正常工作。

【讨论】:

以上是关于在具有透明度的 UITableView 单元格中更新 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

具有调整大小的大图像的 UITableView 单元格中的初始滚动滞后?

实现 UITableView (Slave) 的动态高度,它作为子视图添加到另一个具有动态高度的 UITableView (Master) 的自定义单元格中

UITableView 单元格中重叠图像的问题

单个 UITableview 单元格中的多种字体大小 (Swift)

动画在具有动态单元格高度的单元格中添加子视图

仅在某些单元格中添加SubView