因此,我有一个包含选项单元格的表,每个选项单元格都有一个绑定的标签和BEMCheckbox库提供的复选框。一切正常,但是,当我选择前三个选项并向下滚动时,即使没有遇到它们,我也会找到其他三个相邻的单元格。
我了解到这与UITableView的内部工作方式有关,以及与单元格在滚动时基本上如何重用和重新渲染有关,但我似乎没有尝试保持状态。目前,我正在尝试将选定的IndexPath对象存储在数组中,并在cellForRowAt中将绘制复选框,就像路径出现在数组中一样。但是,即使这样似乎也不起作用。有任何解决方法的想法吗?
答案 0 :(得分:1)
将表格视图单元格作为您在医生办公室的候诊室中获得的患者信息表。问题在于医生的办公室会重复使用表格,并且不会从表格中删除旧信息。
在cellForRowAt方法中,由您决定完全将单元格恢复为默认状态,然后再使用它。您必须将所有内容重置为默认状态。
作为在cellForRowAt中进行重置的替代方法,您可以使用自定义单元并实现prepareForReuse()
方法。
关键是在开始配置它之前,您需要将单元格中的每个视图强制为默认状态。