【发布时间】:2013-11-03 10:14:02
【问题描述】:
我有一个NSView 来接受来自所有来源的文件——本地和远程。我使用NSFilesPromisePboardType 来接受远程文件,例如从浏览器中拖出的图像。这是我用来将删除的图像复制到我的文件夹中的代码:
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
NSPasteboard * pboard = [sender draggingPasteboard];
NSDragOperation sourceDragMask = [sender draggingSourceOperationMask];
if ([[pboard types] containsObject:NSFilesPromisePboardType])
{
[sender namesOfPromisedFilesDroppedAtDestination:_fileStorageFolder];
return YES;
}
return NO;
}
现在我注意到了 2 个问题:
- “在粘贴板上查找 HFSPromises,但没有找到。”警告 打印到调试控制台中。
- Finder 会打开一个新窗口以显示并突出显示新下载的文件。
在没有任何警告和 Finder 窗口的情况下从浏览器接收文件的正确方法是什么?
【问题讨论】:
-
我忘了说我运行的是 OSX 10.7.5 Lion。
-
你能把更多的代码贴在这里吗?
-
@hussain Shabbir:我已经更新了我的问题中的源代码。这是一个简单的 performDragOperation 方法。我只是想接受“承诺的文件”。
-
让我们从确认这个 Finder 问题开始。有没有人看到相同的行为?
-
有人吗?这似乎是一个常见的情况。我敢肯定有人遇到过同样的困难......
标签: cocoa file browser drag-and-drop