1

在我的示例中,我在开始时有 2 个部分和 1 行。如果有人单击某个部分的第一行,我会插入该部分的所有其他行:

[tableView insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationTop];

这工作正常,但我需要更新第一行的背景。这也有效,但我需要重新布局第一行。我已经尝试过 setNeedsDisplay 和 setNeedsLayout,但它不起作用。reloadDate 显示正确的背景,但它破坏了滑动效果。

我知道我可以使用以下之一更新 Row:

[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationFade];
[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationNone];

但他们暂时改变了行的高度。我需要一个真正的褪色效果或没有动画的重新加载。

这是情况的图片:

在此处输入图像描述

编辑:我制作了一个视频:

这说明了问题!

4

1 回答 1

1

这是解决方案:

[tableView beginUpdates];
...
[tableView endUpdates];

我喜欢它在另一个线程。

于 2013-02-19T16:02:01.553 回答