use*_*019 6 scroll uitableview ios
我们都知道可以恢复uitableview中的单元格,但我看到了一些奇怪的结果.我正在创建一个自定义单元格,每个单元格有4列,每列都有一个图像,所以格式是这样的| img | img | img | img | 返回单元格后,我正在配置每个单元格,一个示例是将第一列配置为图片1,然后将第二列配置为不同的图片
现在假设我只能在tableview中一次显示两行:
|a0|a1|a2 |a3 |
|b4|b5|b6 |b7 |
------cell c not visible to user------
|c8|c9|c10|c11|
Run Code Online (Sandbox Code Playgroud)
当用户向下滚动时,上面的列'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|
Run Code Online (Sandbox Code Playgroud)
然而,问题出现了,当我向上滚动以查看单元格/行'c'时,我有以下图片:
|a0|a1|a2 |a3 |
------row/cell 'a' not visible to user------
|b4|b5|b6 |b7 |
|c8|c9|a2|a3|
Run Code Online (Sandbox Code Playgroud)
请注意,行/单元格c的最后两列应为空,但显示为a2和a3
我怎样才能解决这个问题?我正在考虑这样做的手动方式,即通过检查是否应该在重用时删除不必要的视图等,但可能更复杂的是有更系统的方法来做到这更容易和更清洁?
有没有办法我们可以要求返回的单元格忘记其内容,或者我必须自己这样做?
谢谢
And*_*Ley 10
你必须"自己动手".每当重用UITableViewCell时,它都会保留其先前的内容.如果要重置/清除它,可以手动执行此操作.
在您的自定义中UITableViewCell,您可以覆盖prepareForReuse和重置您喜欢的任何内容,或在设置新内容时执行此操作.
在您的情况下,将UIImageView的image属性设置为nil所有四列都应该有效.
| 归档时间: |
|
| 查看次数: |
6599 次 |
| 最近记录: |