Cocoa:拖放任何文件类型
Posted
技术标签:
【中文标题】Cocoa:拖放任何文件类型【英文标题】:Cocoa: Drag and Drop any file type 【发布时间】:2011-05-20 09:19:30 【问题描述】:我正在尝试创建一个拖放区域,该区域接受任何文件类型并将其上传到服务器(使用 ASIHTTPRequest)。我查看了 Apple 提供的以下示例:
http://developer.apple.com/library/mac/#samplecode/CocoaDragAndDrop/Introduction/Intro.html
但它只涉及处理图像的拖放。如何设置拖放操作以处理任何文件类型?
谢谢。
【问题讨论】:
【参考方案1】:有点相关,但添加这个以防对某人有帮助:
如果您只是想处理拖到应用程序图标上的任何文件(不需要是基于文档的应用程序):
在.h中:
- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames;
在.m:
- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames
NSLog(@"Files dragged on: %@", fileNames);
在您的 xxx.plist 中,在 CFBundleDocumentTypes 下创建一个新条目:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>NSFilenamesPboardType</string>
<key>CFBundleTypeRole</key>
<string>None</string>
</dict>
</array>
【讨论】:
【参考方案2】:根据post 判断,您可能只需要为NSFilenamesPboardType
而不是imagePastBoardTypes
注册视图即可接收任意文件类型。
【讨论】:
以上是关于Cocoa:拖放任何文件类型的主要内容,如果未能解决你的问题,请参考以下文章