【发布时间】:2011-04-25 14:08:22
【问题描述】:
我有一个多节 UITableView,其中包含需要知道其节索引的自定义标题视图。我目前在 viewForHeaderInSection 中创建自定义视图时,在 UIView 的 tag 字段中记录了节号。但是,当删除一行时,UITableView 不会为屏幕上可见的标题视图重新加载节标题视图,因此它们的标签字段变得不同步。在表上调用 reloadData 通过重新创建标题视图来重新同步标记字段,但调用 reloadData 会干扰行删除动画。如果用户在计时器触发之前最终与不同步的标头进行交互,那么设置一个计时器以在“短”时间后调用 reloadData 似乎很棘手并且有些风险(我想我可以添加一个状态变量来防止这种情况,呃)。
我可以假设跟踪容器中创建的所有标题视图,并在删除行时调整它们的标签(再次)。但是,我该如何避免泄露视图呢?我如何知道 UITableView 何时发布了视图,以便我可以删除对它们的引用以便释放它们?
这似乎比应该做的工作多得多……我错过了什么吗?我注意到其他人也有非常相似的问题,但从未见过明确的解决方法。
【问题讨论】:
标签: iphone uitableview