我有一个由 Firebase 数据库填充的表。用户可以左右滑动每一行,这会导致该行消失。这来自这个库:https://github.com/alikaragoz/MCSwipeTableViewCell
如果我正在滑动一行并且表格更新为新数据,我的滑动手势会重置并且我正在滑动的行被下推。
有没有办法在当前正在与其中一行交互时防止更新表?
问题的原因可能是您在获取新数据后以某种方式调用 tableView.reloadData()
(这听起来不错),表格 View 的更新导致编辑导致推送当前滑动单元格的行数。
解决方法是检查当前是否有单元格滑动,以防止调用tableView.reloadData()
,这应该在滑动完成后进行。幸运的是,经过检查使用 MCSwipeTableViewCell库,我发现了如何检查这样的功能,符合 MCSwipeTableViewCellDelegate
如下:
实现 swipeTableViewCellDidStartSwiping:
以防止 tableView.reloadData()
。
实现 swipeTableViewCell:didEndSwipingSwipingWithState:mode:
以确保滑动结束,然后调用 tableView.reloadData()
。
当然,您将如何进行检查的逻辑取决于您,但是 - 希望这会指导您解决问题。
希望这会有所帮助。
关于iOS:如果当前正在滑动行,如何防止表更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111499/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |