从 iOS 14 开始, UICollectionViewDiffableDataSource 有一个reorderHandlers
属性。它在一些示例代码中进行了演示,并在WWDC 2020 会议上讨论了 Diffable Data Sources 的进展。演示者声明您必须提供一个canReorder
和didReorder
闭包才能启用该功能。
示例代码在带有列表布局配置的集合视图中使用它,并使用重新排序附件配置列表单元格。和方法按预期调用canReorder
。didReorder
但是,如果我从单元格中删除重新排序的附件,重新排序将不再起作用——它不会调用任何一个闭包。它在我的应用程序中也不起作用,我有一个使用组合布局的网格布局。
如何在UICollectionViewDiffableDataSource
没有列表单元格的情况下启用重新排序并重新排序附件?