我的问题如下:有一个由标题组成的表。当您单击标题时,它会在
之后重新启动[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];
时,一切都很好,但我需要动画。
答案 0 :(得分:4)
这是一个老问题,但我想我知道是什么造成了这个问题。
从某种意义上说,这是一个“静态”单元吗?在这种情况下,问题可能是这样的:
当您进行动画重新加载时,表格视图将淡出现有单元格,同时淡入新单元格。问题是,当“新”单元格与旧单元格完全相同时,同一单元格将同时淡入和淡出!在您的情况下,淡出动画优先,单元格被隐藏。
如果通过总是重复使用单元格而不是使用相同的引用来修复此问题,我知道这并不总是最佳的。
答案 1 :(得分:1)
Calling [tableView reloadData]
right after [tableView reloadSections:withRowAnimation]
fixes it without significantly affecting the animation.