我正在尝试将图像从其他应用程序(例如Safari)拖放到我的应用程序中的collectionView中。我从UICollectionViewDropDelegate实现了collectionView(_:dropSessionDidUpdate:withDestinationIndexPath:)
,但destinationIndexPath始终为nil。
有人知道为什么吗?
func collectionView(_ collectionView: UICollectionView,
dropSessionDidUpdate session: UIDropSession,
withDestinationIndexPath destinationIndexPath: IndexPath?) -> UICollectionViewDropProposal {
if let indexPath = destinationIndexPath, indexPath.section == 1 {
return UICollectionViewDropProposal(operation: .copy, intent: .insertAtDestinationIndexPath)
} else {
return UICollectionViewDropProposal(operation: .cancel)
}
}
答案 0 :(得分:1)
我猜对indexPath = destinationIndexPath, indexPath.section == 1
的检查是完全错误的。
在删除if let
并仅使用return UICollectionViewDropProposal(operation: .copy, intent: .insertAtDestinationIndexPath)
之后,一切正常。