NSView Subviews interrupting drag operation

后端 未结 2 832
粉色の甜心
粉色の甜心 2020-12-16 01:45

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

相关标签:
2条回答
  • 2020-12-16 02:24

    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.

    0 讨论(0)
  • 2020-12-16 02:36

    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];
    
    0 讨论(0)
提交回复
热议问题