如何解决使用Mac Catalyst时,将其自身放下一项将冻结UICollectionView中的UIDragSession
我有一个相当标准的UICollectionView,可以在iOS中按预期方式进行拖放。但是,在使用Mac Catalyst转换为Mac应用程序后,第一次将拖放的项目放到自身上(让我们在indexPath X上调用它),不调用performDropWith,并且发生以下情况:
-
UIDragSession似乎被冻结,因此任何新的拖动会话都将目标indexPath固定为X
-
UIDragSession不会为下一次拖动而重新创建,您可以通过查看会话的内存地址来对其进行检查
此行为仅在应用程序的Mac Catalyst版本上可见,而iOS应用程序正确地取消分配了拖动会话并创建了一个新会话,而与该物品的放置位置无关。
我正在使用Xcode 12.0版和Swift 5.0版
要查看此问题,您可以下载此示例项目,将mac用作目标,然后尝试在mac应用中将其自身拖放到某个项目上(此后,拖放将基本上被破坏): https://github.com/pgpt10/DragAndDrop-CollectionView
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。