如何启用文件拖放到NSTextField?

时间:2012-06-11 10:00:02

标签: objective-c cocoa

如何启用文件拖放到NSTextField?

我想当我从文件系统中将文件拖放到我的应用程序中的NSTextField时,该文件的路径会自动写入该字段。

相反,我不能放弃它,并且该字段仍为空。

我添加了这一行:

[myTextField registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, nil]];

但它不起作用。

我在代理中找不到任何与拖放相关的方法:NSControlTextEditingDelegateNSTextFieldDelegate

由于

2 个答案:

答案 0 :(得分:2)

您需要subclass the NSTextField并覆盖-performDragOperation:方法。 Apple有几个如何处理Drag and Drop Programming Topics中删除文件的例子。

答案 1 :(得分:0)

如果将NSTextFields行为设置为可编辑,则可以立即删除文件而无需一行代码。 Xcode 11,但在较早的版本中也可以使用。

enter image description here