我有一个带有自定义类的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 工作
希望你能理解这个问题
提前致谢
最佳答案
这是因为每次 tableView 要求您配置单元格时(每当屏幕上即将出现新单元格时),您都会添加标签。
首先删除所有标签,然后添加所需的标签来修复此问题:
cell.bView.removeAllTags() // Or equivalent method.
cell.bView.addTag(#SOMEITEM)
关于ios - UItableViewCell 中的项目显示多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34902128/