我有NSCollectionView,显示一些文件:
我想要的是......
文件图标由NSImageView显示。
提供此类功能的好方法是什么?
非常感谢!
答案 0 :(得分:2)
您需要在集合视图上调用declareTypes:owner:
并传入您希望能够拖动的粘贴板类型。在您的情况下,您需要NSURLPboardType
。
您需要做的就是在NSCollectionView
的{{3}}中实现三个与拖动相关的委托方法。
您应该从此方法返回YES
:
您可以使用此方法为每个项目返回自定义拖动图像:
collectionView:canDragItemsAtIndexes:withEvent:
然后使用此方法将项目写入粘贴板:
collectionView:draggingImageForItemsAtIndexes:withEvent:offset:
在您的情况下,您可以在此方法的实现中将拖动项目的URL写入粘贴板。
如果您不了解如何使用粘贴板,则应阅读指南collectionView:writeItemsAtIndexes:toPasteboard:
。