我们都知道uitableview中的单元格可以重新分配,但是我看到了一些奇怪的结果。 我正在创建一个自定义单元格,每个单元格有4列,每列都有一个图像 所以格式是这样的 | img | img | img | img | 单元格返回后,我配置每个单元格,一个示例将配置图片1的第一列,然后第二列不同的图片ios uitableview uitableviewcell重复使用旧数据
现在只是假设我只能在tableview中一次显示两行:
|a0|a1|a2 |a3 |
|b4|b5|b6 |b7 |
------cell c not visible to user------
|c8|c9|c10|c11|
作为用户向下滚动,列“A”(A0-A3)中,将不可见,而据我知道,细胞变得不可见对于列c
上面的例子将被重用工作正常,如果我可以完全占用每个细胞/行,即我总共有12张照片。
,但如果我必须说,拍摄10张照片(最后一行将充满只有2个,而另外两个是空的,就像如下所示:
|a0|a1|a2 |a3 |
|b4|b5|b6 |b7 |
------row/cell 'c' not visible to user------
|c8|c9|empty|empty|
然而,问题出现了,当我向上滚动到见细胞/行“C” 我有下面的图片:
|a0|a1|a2 |a3 |
------row/cell 'a' not visible to user------
|b4|b5|b6 |b7 |
|c8|c9|a2|a3|
通知,该行/单元C的最后两列应该是空的,但正显示出A2和A3,而不是
我该如何解决这个问题?我正在考虑手动执行此操作的方式,即通过检查重复使用时是否应删除不必要的视图等,但可能会更复杂 是否有更系统的方法可以更轻松,更清洁?
有没有一种方法可以让返回的单元格忘记它的内容,还是我必须自己做这个?
谢谢
对不起,请将问题追溯到原始作者或社区:阅读Apple的开发者文档,网址为https://developer.apple.com/documentation/uikit/uitableviewcell/1623223-prepareforreuse它表示不要处理prepareForReuse中的内容相关材料,而是处理cellForRowAt。 有没有人有任何解释为什么接受的答案与官方文档冲突? –