Gre*_*tic 16 animation uitableview ios
我有一个表,用户可以用两种不同的方式排序.当用户在这两种排序模式之间切换时,我希望重新排序为动画.虽然UITableView的方法提供了插入,删除和重新加载行的动画帮助,但我没有看到任何可以让我为行动画制作动画的内容.
我错过了什么吗?
假设我不是,有没有人有关于如何做到这一点的示例代码?
谢谢.
小智 34
我知道这是一个较老的问题,但我遇到了同样的问题,并认为我找到了一个解决方案,所以我想我会分享以防其他人在这里遇到同样的问题.我也不确定它的解决方案有多棒,但它似乎对我有用.
我的TableView从一个名为的数组中获取数据_objects
.在我的排序方法中,我首先创建另一个数组,它是数据数组的精确副本:
NSArray *objectsBeforeSort = [NSArray arrayWithArray:_objects];
Run Code Online (Sandbox Code Playgroud)
然后我_objects
使用我已创建的排序描述符对数据数组进行排序.在我的数组上调用适当的排序方法后,我使用它来为表更新设置动画:
[self.tableView beginUpdates];
for (int i = 0; i < _objects.count; i++)
{
// newRow will get the new row of an object. i is the old row.
int newRow = [_objects indexOfObject:objectsBeforeSort[i]];
[self.tableView moveRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0] toIndexPath:[NSIndexPath indexPathForRow:newRow inSection:0]];
}
[self.tableView endUpdates];
Run Code Online (Sandbox Code Playgroud)
我还没有广泛测试这个代码,但它似乎给出了期望的结果.
归档时间: |
|
查看次数: |
5308 次 |
最近记录: |