2010-12-05 6 views
7

Ich versuche einen Drag & Drop-Bereich zu erstellen, der jeden Dateityp akzeptiert und auf einen Server hochlädt (mit ASIHTTPRequest). Ich schaute auf das folgende Beispiel, dass Apple bietet:Cocoa: Ziehen und Ablegen eines beliebigen Dateityps

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

aber nur mit dem Ziehen und Ablegen von Bildern deckt tun. Wie kann ich meine Drag & Drop-Vorgänge so einrichten, dass sie mit jedem Dateityp umgehen können?

Danke.

Antwort

5

Nach dieser post zu urteilen, müssten Sie wahrscheinlich nur Ihre Sicht registrieren für NSFilenamesPboardType anstelle der imagePastBoardTypes, um beliebige Dateitypen zu erhalten.

11

Art von verwandten, aber es ist hilfreich für jemanden, falls diese Zugabe:

Wenn Sie einfach zu handhaben wollen jede Datei gezogen auf das Anwendungssymbol (muss nicht sein, ein Dokument-basierte Anwendung):

In .h:

- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames; 

In .m:

- (void)application:(NSApplication *)sender openFiles:(NSArray *) fileNames { 
    NSLog(@"Files dragged on: %@", fileNames); 
} 

In Ihrem xxx.pli st, erstellen Sie unter CFBundleDocumentTypes einen neuen Eintrag:

<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> 
Verwandte Themen