将图像从NSView拖动到Finder。 dragImage的替代方法:at:offset:event:pasteboard:source:slideBack:

时间:2016-03-11 18:24:23

标签: macos cocoa drag-and-drop

我一直在使用dragImage:at:offset:event:pasteboard:source:slideBack:在先前项目中拖动时显示图像表示,但现在该方法已被弃用。

我已经读过假设的替代方案正在使用beginDraggingSessionWithItems(…)但是,事情是我无法正确地做到这一点。

这是我的情况:

- 如果我使用dragPromisedFilesOfTypes(…),一切正常。我将我的图像拖到任何文件夹,我可以使用namesOfPromisedFilesDroppedAtDestination(…)等命名文件,但是拖动的图像只是一个图标,我不能提供拖动图像,因为上述方法不再可用

- 如果我使用beginDraggingSessionWithItems(…)代替,我可以在mouseDragged(theEvent)方法中提供拖动图像但是当我将图像放入Finder时没有任何反应。我可以用 draggingSession(_:endedAtPoint:operation:)方法在操作结束时手动保存图像,但此方法没有关于放置目标网址的任何信息,在这种情况下不会调用namesOfPromisedFilesDroppedAtDestination(…)

那么,我错过了什么?我想这是一个简单的操作,不应该那么复杂。 Apple文档和googled教程总是使用不推荐使用的方法,所以我没有任何有效的例子来查看我的错误在哪里。请帮忙。

0 个答案:

没有答案