我有一个UITableView,其中设置了三个部分,这些部分按预期工作。

轻按一个按钮时,一次将在0和1区域或1和2区域之间移动多个单元。这一切都很好,但是默认动画对我来说太快了。是否可以定义自定义动画或完全删除默认动画以...

tableView.moveRow(at: IndexPath(row: 0, section: 0), to: IndexPath(row: 0, section: 1))

我尝试将tableView.insertRowstableView.deleteRows的动画设置为.none作为替代方法,但是即使那样,仍会发生默认动画,其中行彼此折叠并消失。

提前致谢!

最佳答案

使用自定义动画实现自定义方法

iOS中的默认动画是使用委托方法和枚举值的组合触发的。动画被烘焙到UITableView组件中。要实现自己的自定义动画,您需要定义自己的方法来处理CRUD操作,并根据时序需要重写drawRect方法以仔细实现动画。当然,您还需要处理自己的删除和数据源同步。

考虑以下

从哲学上讲,通过偏离标准时间,您将摆脱此操作的标准化iOS体验。这样,您的用户可能会感觉到您的应用程序性能较低。

关于ios - tableView.moveRow的自定义动画(在:至:),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44997116/

10-14 17:33
查看更多