UITablleView insert rows animated without scrolling
我已经实现了一个包含多个部分的 TableView 以及每个部分中的部分标题和部分页脚。当用户录制一个单元格时,会以动画方式插入更多单元格。
为了实现这一点,我更新了数据模型并调用
1
| [self.tableView insertRowsAtIndexPaths:addedIndexPaths withRowAnimation:(UITableViewRowAnimationTop)]; |
在最上面的行上,这可以按预期工作:添加的行具有动画效果,并且 tableview 的内容是恒定的。在最后一个单元格上,tableview 滚动到上一部分的顶部或上一部分的页脚顶部。
为什么插入行时表格视图会滚动?如何在保持动画的同时防止滚动?
- 你看过这里吗? stackoverflow.com/questions/5872759/...
-
覆盖滚动视图委托方法
-
@PKT 特别是哪一个?我尝试启用禁用滚动并在插入后立即启用它,但这也不起作用。
-
请参阅 stackoverflow.com/questions/31680539/...
-
@PKT 我不使用 RefreshControl 也不调用 reloadData
解决这个问题的主要方法是不使用 insertRowsAtIndexPaths。而是尝试使用 reloadSections 以保持动画。
- 我只想动画添加的行而不是整个部分。你会如何用 reloadSections 做到这一点?
-
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:(UITableViewRowAnimationTop)] 动画所有行。但我只希望添加的行进行动画处理。
-
有没有办法限制对添加的单元格的更新?