我有一个设置了三个部分的 UITableView,它按预期工作。
当点击一个按钮时,多个单元格将在第 0 部分和第 1 部分,或第 1 部分和第 2 部分之间移动。这一切都很好,但是默认动画对于我的需要来说太快了。是否可以为...定义自定义动画或完全删除默认动画
tableView.moveRow(at: IndexPath(row: 0, section: 0), to: IndexPath(row: 0, section: 1))
我已经尝试使用 tableView.insertRows
和 tableView.deleteRows
将它们的动画设置为 .none
作为替代方案,但即便如此仍然是默认动画发生在行折叠在彼此之上并消失的地方。
提前致谢!
最佳答案
使用自定义动画实现自定义方法
iOS 中的默认动画是使用委托(delegate)方法和枚举值的组合触发的。动画被烘焙到 UITableView 组件中。要实现您自己的自定义动画,您需要定义自己的方法来处理 CRUD 操作,并根据您的时间需求重写 drawRect 方法以仔细实现您的动画。当然,您还需要处理自己的删除和数据源同步。
考虑以下内容
从哲学角度来看,如果偏离标准时间,您将远离此操作的标准化 iOS 体验。这样做,您的用户可能会感觉到您的应用程序性能较低。
关于ios - tableView.moveRow 的自定义动画(位于 : to:),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44997116/