You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

UICollectionView动态尺寸单元格自定义布局拖拽重排问题求助

UICollectionView Custom Layout with Dynamic Cell Widths Breaks Drag Reorder Animations

大家好!我为UICollectionView实现了支持动态单元格宽度(仅修改单元格宽度,高度保持固定)的自定义布局,同时开启了拖拽重排功能。关闭动态尺寸时,重排操作完全正常,但开启动态宽度后,拖拽动画出现了明显异常。

我已经做了以下尝试和排查:

  • 参考过相关技术博客的方案,实现了invalidationContextForInteractivelyMovingItems(at:targetIndexPath:)方法,但哪怕直接使用博客中的示例代码,拖拽小尺寸单元格到大尺寸单元格位置时,仍会出现单元格替换错误
  • 示例代码中因为硬编码调用moveAt方法,导致单元格会在光标位置直接交换,这个问题的详细情况我整理在了项目的Wiki文档中
  • 2020年7月28日更新:即使是简单的横向UICollectionView自定义布局,也存在同样的拖拽重排异常问题

我准备了一个可以复现问题的示例项目,项目的README里列出了所有出现的错误场景。

恳请各位帮忙分析解决这个问题,谢谢!

内容的提问来源于stack exchange,提问作者rgipd

火山引擎 最新活动