【发布时间】:2011-11-07 03:05:15
【问题描述】:
我们有一个场景,当用户在不同的 UITableView 中选择一个项目时,我们重用相同的 UITableView 来显示来自数据库的不同记录集(在概念上类似于 splitviewcontroller,但都在同一个视图中)。
当用户选择不同的区域进行查看时,我们从数据库中获取相应的记录,用新的记录集更新 Source,然后调用 ReloadData。
问题是UITableView中的一些单元格仍然存在,并且在列表之间切换时被重复使用,导致各行数据无效或重叠。
我的问题是:有没有一种方法可以告诉 UITableView 丢弃所有现有的单元格,包括那些排队等待重用的单元格?我本来希望 ReloadData 执行此任务,但它没有。
更新说明:
我们表格中的每个单元格都由可变数量的子视图组成(我们试图模仿网格控件)。当用户在左侧导航中选择不同的列表时,不能保证新选择的列表中的子视图位置(列)会与前一个列表中的位置重叠。这就是为什么我们正在寻找一种方法来删除排队的单元格。
【问题讨论】:
标签: cocoa-touch ipad uitableview xamarin.ios