【问题标题】:Cocoa: Drag and Drop any file typeCocoa:拖放任何文件类型
【发布时间】:2011-05-20 09:19:30
【问题描述】:

我正在尝试创建一个拖放区域,该区域接受任何文件类型并将其上传到服务器(使用 ASIHTTPRequest)。我查看了 Apple 提供的以下示例:

http://developer.apple.com/library/mac/#samplecode/CocoaDragAndDrop/Introduction/Intro.html

但它只涉及处理图像的拖放。如何设置拖放操作以处理任何文件类型?

谢谢。

【问题讨论】:

    标签: objective-c cocoa drag-and-drop file-type


    【解决方案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 注册视图即可接收任意文件类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        相关资源
        最近更新 更多