I have an NSView which is registered for a drag operation.
In that view I have a subclassed NSScrollView, which in itself has an NSImageView in it.
When drag
Oh, thanks so much @Steven!
Swift 4.2 and @IBOutlets
:
@IBOutlet private weak var imageView: NSImageView! {
didSet {
imageView.unregisterDraggedTypes()
}
}
Long story:
I had this NSCollectionView
, which loaded a custom NSCollectionViewItem
from a XIB
file.
The collection accepts drop operations (collectionView.registerForDraggedTypes([.fileURL])
).
But as soon as something was dropped into it and the custom cell was "dequeued" (makeItem(withIdentifier:for:)
) -- drop operations stopped working above that specific cell.
unregisterDraggedTypes()
fixes the issue indeed.
You can unregister the NSImageView as a dragging destination. Its superview will then handle the dragging session, if it's set up to do that.
[imageView unregisterDraggedTypes];