我有一个UITableViewCell
自定义类,我有一个自定义类的xib。现在我在主类的viewDidLoad
中注册nib。
tableView.registerNib(UINib(nibName: "TCell", bundle: nil), forCellReuseIdentifier: "TCellID")
现在在cellForRowAtIndexPath
我这样做是为了让细胞呈现
let cell = tableView.dequeueReusableCellWithIdentifier("TCellID", forIndexPath: indexPath) as! TCell
cell.bView.addTag(#SOMEITEM)
我正在使用库here添加标签
return cell
我想要正确渲染单元格,但问题是当我向上和向下滚动tableView时,在我向上和向下滚动时会反复添加#SOMEITEM。
我认为问题是在tableView中渲染单元格。我尝试在cellForRowAtIndexPath
中放置断点,每次滚动时都会调用它,并显示该单元格。但我无法弄清楚确切的问题。我搜索并没有找到解决方案。我在swift工作
希望你能理解这个问题
提前致谢
答案 0 :(得分:3)
这是因为每次tableView要求您配置单元格时都会添加标记(每当新单元格即将出现在屏幕上时)。
首先删除所有代码,然后添加所需的代码来修复它:
cell.bView.removeAllTags() // Or equivalent method.
cell.bView.addTag(#SOMEITEM)
答案 1 :(得分:1)
您可以覆盖" prepareForReuse"在您的自定义UITableViewCell中添加像Mark所说的代码
super.prepareForReuse()
bView.removeAllTags() // Or equivalent method.