tableView.moveRow的自定义动画(at:to:)

时间:2017-07-09 13:50:25

标签: ios swift uitableview animation

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

当点击一个按钮时,一次有多个单元格将在0和1之间或1和2之间移动。这一切都可以正常工作,但是默认动画对我的需求来说太快了。是否可以定义自定义动画或完全删除默认动画...

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

我尝试将tableView.insertRowstableView.deleteRows的动画设置为.none作为替代方案,但即使这样,仍然会发生默认动画,其中行会在每个行上方折叠其他的和消失的。

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

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

考虑以下

在哲学上,通过偏离标准时间,您将远离标准化的iOS体验来完成此操作。通过这样做,您的用户可能会感觉您的应用程序性能较差。