我们都知道 uitableview 中的单元格可以重新使用,但我看到了一些奇怪的结果。我正在创建一个自定义单元格,每个单元格有 4 列,每列有一个图像,所以格式是这样的 |img|img|img|img| 返回单元格后,我正在配置每个单元格,例如将第一列配置为图片 1,然后将第二列配置为不同的图片
现在只是假设我一次只能在表格视图中显示两行:
|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
我怎样才能解决这个问题?我正在考虑手动执行此操作的方法,即通过检查是否应在重用时删除不必要的视图等,但可能更复杂,是否有更系统的方法更容易和更清洁?
有没有办法让返回的单元格忘记它的内容,或者我必须自己这样做?
谢谢