0

我有一个表格,当您选择一个项目时,它会更改有关该单元格中对象的一些内容,然后将单元格移动到底部,然后重新加载表格数据。

//update model
...

//move cell to bottom
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationBottom];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastIndex inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
[tableView endUpdates];

//reload cells
[tableView reloadData];

目前,它可以工作,但不等待动画完成。如何在重新加载数据之前等待插入和删除动画完成?或者如果有更好的方法来做到这一点,那也很高兴知道。

4

1 回答 1

1

简单,而不是删除一个单元格然后立即添加一个新单元格,您可以使用 UITableViewmoveRowAtIndexPath将单元​​格从其起点到终点设置动画。

[tableView moveRowAtIndexPath:[NSArray arrayWithObject:indexPath] toIndexPath:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastIndex inSection:0]]];
于 2012-12-06T14:30:57.217 回答