这让我很生气,我已经看过周围的每一篇文章。
我正在使用自定义tableview单元类和XIB文件。这一切都很好,直到我滚动屏幕上的桌子视图(那个老板栗)。我知道它与 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 { ... }
但是我无法解决如何在swift中实现这一目标。
非常感谢提前。
答案 0 :(得分:1)
您正在寻找的是UITableViewCell's prepareForReuse
方法。
如果您正在使用自定义UITableView单元格,则需要使用此方法来清除单元格中的所有旧数据,然后才能重复使用。