Запрет NSCollectionView «поднятия» элемента во время перетаскивания - PullRequest
0 голосов
/ 31 января 2019

Я понимаю, как заставить перетаскивать работать на NSCollectionView, но я не могу остановить его, «убрав» предметы с поля зрения.

Мое текущее решение состоит в том, чтобы не внедрить

func collectionView(_ collectionView: NSCollectionView, pasteboardWriterForItemAt indexPath: IndexPath) -> NSPasteboardWriting?

с NSCollectionViewDelegate, чтобы

func collectionView(_ collectionView: NSCollectionView, draggingImageForItemsAt indexPaths: Set<IndexPath>, with event: NSEvent, offset dragImageOffset: NSPointPointer) -> NSImage

IS называется, где я могу предоставить свои собственные изображения перетаскивания.Тем не менее, они не скапливаются и не отображают значок, показывающий, сколько элементов перетаскивается.

Проблема заключается в том, что при реализации первого метода мне кажется, что ничего не происходит (включая переопределение NSCollectionViewItem's draggingImageComponents)чтобы предотвратить перетаскивание «снятия» элемента с представления коллекции, оставляя после себя пустое пространство.

Перетаскивание изображений в Photos.app и файлов в Finder.app (представление значков) не приводит к такому поднятию элемента, поэтомувозможно.

...