如何在UITableView中动画更改顺序?

时间:2014-10-22 11:49:48

标签: ios objective-c ios7 ios8

我有一个包含10个项目的表视图。我可以点击一个按钮,他们的订单也会改变。 然后我用以下代码重新加载它(我已经并且将只有一个部分):

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic]

我尝试了不同的动画,但没有任何效果,因为我想要 我希望这些行能够滑入新的位置。我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用UITableView方法beginUpdates and endUpdatesmoveRowAtIndexPath一起设置转场动画。

答案 1 :(得分:1)

我做了什么:

  1. [tableView beginUpdates]
  2. 将所有当前单元格保存到NSMutableArray。模型对象也存储在自定义单元属性中。
  3. 更改数据来源。
  4. 遍历数组(索引i)中的单元格,对于每个单元格迭代数据源数组(索引j)。如果单元格和数据源中的对象相同,则将单元格从位置i移动到数据源数组(j)中对象的位置。
  5. [tableView endUpdates]