objective-c - 添加和删​​除单元格时如何知道 UITableView 何时完成动画

标签 objective-c ios

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

//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];

目前,它可以工作,但不会等待动画完成。如何等待插入和删除动画完成后再重新加载数据?或者如果有更好的方法,也很高兴知道。

最佳答案

很简单,您可以使用 UITableView 的 moveRowAtIndexPath 来将单元格从起始点移动到结束点,而不是删除一个单元格然后立即添加一个新单元格。

[tableView moveRowAtIndexPath:[NSArray arrayWithObject:indexPath] toIndexPath:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastIndex inSection:0]]];

关于objective-c - 添加和删​​除单元格时如何知道 UITableView 何时完成动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13745541/

相关文章:

objective-c - 从通知中心删除 UILocalNotifications

objective-c - 如何为 Mac (Cocoa) 应用程序创建端到端测试?

ios - 使用iOS的Applinks进行Facebook深层链接

ios - 我的 iOS 应用程序不处理所有应用程序中的图像文件类型

ios - 增加内容大小时如何防止内容偏移

objective-c - iOS 内存泄漏

ios - UITableViewCell 中的 CAGradientLayer

objective-c - UIPopoverController 的麻烦

ios - UICollectionView 未正确返回单元格

ios - 在 Swift 中通过 UserDefaults 保存游戏分数排名的最佳方式