我一直在使用dragImage:at:offset:event:pasteboard:source:slideBack:
在先前项目中拖动时显示图像表示,但现在该方法已被弃用。
我已经读过假设的替代方案正在使用beginDraggingSessionWithItems(…)
但是,事情是我无法正确地做到这一点。
这是我的情况:
- 如果我使用dragPromisedFilesOfTypes(…)
,一切正常。我将我的图像拖到任何文件夹,我可以使用namesOfPromisedFilesDroppedAtDestination(…)
等命名文件,但是拖动的图像只是一个图标,我不能提供拖动图像,因为上述方法不再可用
- 如果我使用beginDraggingSessionWithItems(…)
代替,我可以在mouseDragged(theEvent)
方法中提供拖动图像但是当我将图像放入Finder时没有任何反应。我可以用
draggingSession(_:endedAtPoint:operation:)
方法在操作结束时手动保存图像,但此方法没有关于放置目标网址的任何信息,在这种情况下不会调用namesOfPromisedFilesDroppedAtDestination(…)
。
那么,我错过了什么?我想这是一个简单的操作,不应该那么复杂。 Apple文档和googled教程总是使用不推荐使用的方法,所以我没有任何有效的例子来查看我的错误在哪里。请帮忙。