如何在使用多个部分时为 tableView 单元格的删除/添加设置动画,而部分的数量可能会发生变化
Posted
技术标签:
【中文标题】如何在使用多个部分时为 tableView 单元格的删除/添加设置动画,而部分的数量可能会发生变化【英文标题】:How to animate the removal/addition of tableView cells when using multiple sections while the number of sections has the possibility of changing 【发布时间】:2016-03-25 05:40:54 【问题描述】:所以我有一个UITableView
有很多部分,每个部分都包含带有特定字母的项目(按字母顺序排序)。用户可以向该表中添加更多数据,因此当他们添加进入不存在的部分的新项目时,必须创建一个新部分。删除时同样的问题,如果一个部分中的最后一个项目被删除,整个部分将被删除。我将如何制作动画?
我发现了类似的东西:UITableview reloaddata with animation
但这对我没有帮助。它建议使用这种方法(迅速):
[_tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
如果您在重新加载之前和之后有相同数量的部分,这非常有用,但我的没有。部分的数量可能会发生变化,从而导致崩溃。
【问题讨论】:
您必须确保,您不必在编辑打开时更改表格视图。 【参考方案1】:出于上述目的,您不应重新加载数据。要添加您应该使用的新部分,
- (void)insertSections:(NSIndexSet *)sections
withRowAnimation:(UITableViewRowAnimation)animation
为了删除你应该使用的部分,
- (void)deleteSections:(NSIndexSet *)sections
withRowAnimation:(UITableViewRowAnimation)animation
【讨论】:
以上是关于如何在使用多个部分时为 tableView 单元格的删除/添加设置动画,而部分的数量可能会发生变化的主要内容,如果未能解决你的问题,请参考以下文章
如何在iOS,Objective C的tableview中的每个部分中仅实现单个单元格选择
在单元格内编辑textview时,将另一个单元格添加到tableview