在没有动画的情况下重新加载一行(reloadRowsAtIndexPaths)。里面的图片

时间:2013-02-15 09:41:47

标签: objective-c uitableview

在我的示例中,我在开始时有2行,1行。有人点击了一节的第一行,我插入了这一部分的所有其他行:

[tableView insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationTop];

这很好用,但我需要更新第一行的背景。这也有效,但我需要重新布局第一行。我尝试过setNeedsDisplay和setNeedsLayout,但它没有用。 reloadDate显示正确的背景,但它会破坏滑动效果。

我知道我可以使用以下方法更新一行:

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

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

以下是情况图:

enter image description here

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

This shows the Problem!

1 个答案:

答案 0 :(得分:1)

这是解决方案:

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

I fond it in another thread.