Ziehen von Dateien in einer Cocoa-Anwendung

8

Ich habe eine einfache Anwendung, die Marketing-Informationen verarbeitet. Was ich getan habe, war,

anzurufen %Vor%

Wenn der Benutzer auf das File->Open Menü klickt. Jetzt wurde ich gebeten, der App Drag & Drop-Funktionen hinzuzufügen, damit der Benutzer eine Datei dorthin ziehen kann, anstatt zum Menü zu wechseln oder den Befehl + o zu drücken, um eine Datei zu öffnen.

Bevor Sie mir sagen, lesen Sie die Dokumentation Ich überprüfe bereits Apples Intro Drag & Drop und andere Dokumente. Dennoch kann ich nicht herausfinden, was zu tun ist.

Ich bin ein alter Unix-C-Programmierer, der damit kopieren muss und einige der Annahmen im Apple-Dokument ergeben für mich keinen Sinn.

Kurz gesagt, was muss ich meiner App hinzufügen:

  1. Aktivieren Sie Drag & Drop
  2. Behandle diese gezogene Datei

Als Anmerkung sollte ich immer nur eine Datei bearbeiten.

Danke für die Hilfe

    
Mr Aleph 19.12.2011, 20:46
quelle

1 Antwort

15

Nun, Sie müssen das NSDraggingDestination-Protokoll implementieren, von dem ich annehme, dass Sie es bereits gelesen haben. Sie können es entweder in einer bestimmten Ansicht oder im gesamten Fenster implementieren. Es sieht so aus, als akzeptierten Sie Änderungen auf Anwendungsebene, sodass Sie wahrscheinlich das gesamte Fenster akzeptieren möchten. Unabhängig davon, sobald Sie es funktionieren, werden Sie sehen, wie Sie es weiter anpassen.

Unterklasse NSWindow. Der erste Schritt besteht darin anzugeben, an welchen Arten von Ziehen Sie interessiert sind.

Sagen Sie Ihrem benutzerdefinierten Fenster, dass es an Dateinamen interessiert ist:

%Vor%

Sagen Sie OS X, welche Art von Cursor angezeigt werden soll:

%Vor%

Ziehen Sie:

%Vor%

Dies ist das absolute Minimum, um es zum Laufen zu bringen.

    
Francis McGrew 19.12.2011, 21:32
quelle

Tags und Links