拖放不适用于来自OSX Dock的NSStatusItem的下载堆栈

时间:2015-04-30 07:33:25

标签: objective-c macos drag-and-drop osx-yosemite dock

我正在尝试从OSX Dock Download Stack获取该文件。当我拖动文件draggingEntered并调用draggingExited时。但是performDragOperationconcludeDragOperation都没有被调用。

当我从finder中删除文件时,它可以正常工作。

我为我的dragview注册了类型,如下所示

[_dragView registerForDraggedTypes:[NSArray arrayWithObjects: NSFilenamesPboardType, NSTIFFPboardType, NSStringPboardType, @"local-file-url", @"public.file-url", nil]];

更新

问题是,如果该视图位于某个窗口中,它会接受来自Download Stack的文件。但是当我将该视图设置为NSStatusItem时,它永远不会调用performDragOperation

1 个答案:

答案 0 :(得分:0)

在官方doc中,据说:

  

要调用此方法,先前的prepareForDragOperation:消息必须返回YES

你的代码就是这种情况吗?