我有一张由Firebase数据库填充的表格。用户可以左右滑动每一行,这会导致行消失。这来自这个图书馆:https://github.com/alikaragoz/MCSwipeTableViewCell
如果我正在刷一行并且表格更新了新数据,我的滑动手势会重置,而我正在滑动的行会被推下。
当其中一行正在与?
进行交互时,是否有办法阻止表上的更新?答案 0 :(得分:0)
问题的原因可能是你在获取新数据后听到了tableView.reloadData()
(听起来不错),表格视图的更新导致编辑其行数导致推动当前刷过的细胞。
解决方法是检查当前是否正在进行单元格滑动以阻止调用tableView.reloadData()
,这应该在滑动完成后完成。幸运的是,在检查了使用过的MCSwipeTableViewCell库之后,我找到了如何通过符合MCSwipeTableViewCellDelegate
来检查这样的功能,如下所示:
实施swipeTableViewCellDidStartSwiping:
以阻止tableView.reloadData()
。
实施swipeTableViewCell:didEndSwipingSwipingWithState:mode:
以确保滑动结束然后调用tableView.reloadData()
。
当然,您将如何进行检查的逻辑取决于您,但是 - 这非常 - 这将指导您解决问题。
希望这会有所帮助。