ios - 当使用多个部分时,当部分数量可能发生变化时,如何对 tableView 单元格的删除/添加进行动画处理

标签 ios swift uitableview

所以我有一个包含许多部分的 UITableView,每个部分包含具有特定字母表的项目(按字母顺序排序)。用户可以向该表中添加更多数据,因此当他们添加一个新项目进入一个不存在的部分时,必须创建一个新部分。删除时同样的问题,如果一个部分中的最后一项被删除,整个部分将被删除。我该如何制作动画?

I have found something similar to this: UITableview reloaddata with animation

但这对我没有帮助。它推荐使用这种方法(在 swift 中):

[_tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];

如果您在重新加载前后有相同数量的部分,这会很好用,但我的没有。部分的数量可能会发生变化,从而导致崩溃。

最佳答案

出于您上述的目的,您不应重新加载数据。要添加您应该使用的新部分,

- (void)insertSections:(NSIndexSet *)sections
      withRowAnimation:(UITableViewRowAnimation)animation

为了删除你应该使用的部分,

- (void)deleteSections:(NSIndexSet *)sections
      withRowAnimation:(UITableViewRowAnimation)animation

关于ios - 当使用多个部分时,当部分数量可能发生变化时,如何对 tableView 单元格的删除/添加进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214659/

相关文章:

ios - Firebase getDocument(querySnapshot)不起作用

ios - 给定一个值列表,我如何选择大于前一个值的值?

swift - 您的规范来源均不包含满足依赖项 : `Yoga (= 0.45.0.React)` 的规范

swift - 你如何在 swift 的列表中创建多个字符串?

ios - 在 swift 中使用 Realm 创建索引 TableView

iphone - 如何在UILabel文本下划线-iPhone App

ios - 如何清除iOS远程通知

ios - 使用NSTimer自定义声音

ios - iPad 上的 UISplitViewController : stopping Master view to appear when touching on detail view

ios - 添加新单元格时,UItableview 上一个单元格消失