在我的示例中,我在开始时有 2 个部分和 1 行。如果有人单击某个部分的第一行,我会插入该部分的所有其他行:
[tableView insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationTop];
这工作正常,但我需要更新第一行的背景。这也有效,但我需要重新布局第一行。我已经尝试过 setNeedsDisplay 和 setNeedsLayout,但它不起作用。reloadDate 显示正确的背景,但它破坏了滑动效果。
我知道我可以使用以下之一更新 Row:
[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationFade];
[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationNone];
但他们暂时改变了行的高度。我需要一个真正的褪色效果或没有动画的重新加载。
这是情况的图片:
编辑:我制作了一个视频: