我有UITableView
一些部分和行。
当我调用一个函数时,我想将一行从一个部分移动到另一个部分(所以不是我的手指,我不想使用UITableView
的编辑模式。)
我该怎么做?
如果我重新创建一个数据源并重新加载表,它没问题,但它不使用动画。
答案 0 :(得分:2)
UITableView
为您提供了相应的方法:
致电beginUpdates
,更新您的数据源,致电moveRowAtIndexPath,最后致电endUpdates
上的UITableView
[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:...];