使用Mac Catalyst时,将其自身放下一项将冻结UICollectionView中的UIDragSession

问题描述

我有一个相当标准的UICollectionView,可以在iOS中按预期方式进行拖放。但是,在使用Mac Catalyst转换为Mac应用程序后,第一次将拖放的项目放到自身上(让我们在indexPath X上调用它),不调用performDropWith,并且发生以下情况:

  1. UIDragSession似乎被冻结,因此任何新的拖动会话都将目标indexPath固定为X

  2. UIDragSession不会为下一次拖动而重新创建,您可以通过查看会话的内存地址来对其进行检查

此行为仅在应用程序的Mac Catalyst版本上可见,而iOS应用程序正确地取消分配了拖动会话并创建了一个新会话,而与该物品的放置位置无关。

我正在使用Xcode 12.0版和Swift 5.0版

要查看此问题,您可以下载此示例项目,将mac用作目标,然后尝试在mac应用中将其自身拖放到某个项目上(此后,拖放将基本上被破坏): https://github.com/pgpt10/DragAndDrop-CollectionView

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...