iOS:将表格单元格移动到另一个部分

我有一个带有一些部分和行的UITableView.

当我调用一个函数时,我想将一行从一个部分移动到另一个部分(所以不是我的手指,我不想使用UITableView的编辑模式).

我怎样才能做到这一点?

如果我重新创建数据源并重新加载表,那没关系,但它不使用动画.

最佳答案 UITableView为您提供了以下方法:

调用beginUpdates,更新数据源,调用moveRowAtIndexPath,最后在UITableView上调用endUpdates

[tableView beginUpdates];

// update your datasource
// ... 

// fill in your indexpath of old and new position
[tableView moveRowAtIndexPath: ... toIndexPath: ...];
[tableView endUpdates];

编辑:moveRowAtIndexPath仅适用于iOS 5
所以你宁愿使用这个:

[tableView insertRowsAtIndexPaths: ... withRowAnimation:...];
[tableView deleteRowsAtIndexPaths: ... withRowAnimation:...];
点赞