iOS Swift dequeueReusableCellWithIdentifier 导致重叠

标签 ios uitableview swift

这让我发疯了,我已经查看了所有与此相关的帖子。

我正在使用自定义表格 View 单元格类和 XIB 文件。一切正常,直到我将表格 View 滚动到屏幕外(那个老栗子)。我知道它与 dequeueReusableCellWithIdentifier 方法有关,而不是清除旧数据。但是我不知道如何实现这个。

一旦单元格滚出屏幕,它会导致重叠并继续向单元格添加图像。

let cell: DetailHeaderTableViewCell = tableView.dequeueReusableCellWithIdentifier("detailHeaderTableViewCell") as DetailHeaderTableViewCell

根据我的发现,我需要实现如下内容:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];

UIImageView *defaultImageView;
UILabel *customLabel;

if (cell == nil) {
    // create the cell and empty views ready to take the content.
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
} else { ... }

但是我不知道如何快速实现这一目标。

非常感谢。

最佳答案

您要找的是UITableViewCell's prepareForReuse方法。

如果您使用的是自定义 UITableView 单元格,则需要实现此方法以在重新使用单元格之前清除单元格中的所有旧数据。

关于iOS Swift dequeueReusableCellWithIdentifier 导致重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27245322/

相关文章:

ios - 连接到 "P2P Wifi camera"

ios - UITableView 上未调用长按手势

json - 键嵌套数组和/或字典的 Swift JSON 对象

ios - 如何在 UIView 中嵌入 UITableView?

快速编码 WhatsApp URL

swift - 在 IOS 中从网络服务器加载 3d 模型

c++ - iOS 处理强制应用程序退出的正确方法是什么

ios - Swift 解析 JSON 格式

ios - 在 ViewDidLoad 中从 NSUserDefaults 加载数据

ios - 从带有搜索栏的 TableView Controller 移动到 UISearchDisplayController