在reloadSections之后,TableView部分变为隐藏状态

Nik*_*lay 6 uitableview ios7

我的问题如下:有一个由标题组成的表.当您单击标题时,它会在之后重新启动

[self.tableView reloadSections: [NSIndexSet indexSetWithIndex: section] withRowAnimation: UITableViewRowAnimationAutomatic];
Run Code Online (Sandbox Code Playgroud)

实际上,在早期版本(iOS 6.1.3及更低版本)中,单元格重新加载,一切都很好.在iOS7上细胞变得隐藏起来.它是什么以及如何解决?不仅是单击的单元格,而是下一个单元格(低于或高于).

<MyHeaderCell: 0x146ea600; baseClass = UITableViewCell; frame = (0 0, 320 75); hidden = YES; autoresize = W; gestureRecognizers = <NSArray: 0x146e10c0>; layer = <CALayer: 0x146e95d0 »
Run Code Online (Sandbox Code Playgroud)

基本上,它是日志中的其中一个问题.可以清楚地看到细胞变得隐藏起来.

然而,当我使用[self.tableView reloadData];一切都很好,但我需要动画.

Acc*_*yyc 8

这是一个老问题,但我想我知道是什么原因造成的。

在您自己保留对它的引用的意义上,这是一个“静态”单元格吗?在这种情况下,问题可能是这样的:

当您进行动画重新加载时,表格视图将淡出现有单元格,同时淡入新单元格。问题是,当“新”单元格与旧单元格完全相同时,同一个单元格将同时淡入和淡出!在您的情况下,淡出动画优先并且单元格被隐藏。

如果通过始终重用单元格而不是使用相同的引用来解决此问题,但是,我知道这并不总是最佳的。