TableView部分隐藏后重新加载部分
问题描述:
我的问题是以下内容:有一个表头由标题组成。当你点击标题,之后TableView部分隐藏后重新加载部分
[self.tableView reloadSections: [NSIndexSet indexSetWithIndex: section] withRowAnimation: UITableViewRowAnimationAutomatic];
实际上重新启动,在早期版本(iOS版6.1.3或更低),细胞重新加载,一切都很好。在iOS7上,单元格变得隐藏起来。它是什么以及如何解决它?不仅单元格被点击,而且下一个站点(更低或更高)。
<MyHeaderCell: 0x146ea600; baseClass = UITableViewCell; frame = (0 0, 320 75); hidden = YES; autoresize = W; gestureRecognizers = <NSArray: 0x146e10c0>; layer = <CALayer: 0x146e95d0 »
基本上,它是日志中的问题之一。清楚地看到细胞变得隐藏起来。
尽管如此,当我使用[self.tableView reloadData];
一切都很好,但我需要动画。
答
这是一个老问题,但我想我知道是什么原因造成的。
这是一个“静态”单元,意思是说你自己保持对它的引用?在这种情况下,问题可能是这样的:
当您执行动画重新加载时,表视图将淡出现有单元,同时淡入新单元。问题是,当“新”单元格与旧单元格完全相同时,同一单元格将同时淡入和淡出!在你的情况下,淡出动画优先,单元格被隐藏。
但是,如果通过总是重复使用单元而不是使用相同的引用来解决这个问题,那么我知道这并不总是最佳的。
答
在[tableView reloadSections:withRowAnimation]
之后调用[tableView reloadData]
可以修复它,而不会显着影响动画。
因此,单击标题并触发重新加载,并且“不仅是单击的单元格”?我很困惑,你需要展示更多的代码。 –