Frage

Ich habe eine Unterklasse von NSImageView erstellt und das informelle Protokoll zum Ziehen von Bildern zwischen anderen Instanzen derselben Klasse implementiert.Ich verweise vor dem Ziehen auf das Bild der Ansicht und kann es anhand bestimmter Kriterien wieder auf das Bild zurücksetzen.

Allerdings kann ich anscheinend nicht erkennen, ob der Ziehvorgang abgebrochen wurde.Ich weiß, dass die Methode „draggingEnded“ aufgerufen wird, aber sie wird auch aufgerufen, wenn ein Ziehen erfolgreich war.Irgendwelche Ideen?

War es hilfreich?

Lösung

Ich bin auf eine ähnliche Anforderung gestoßen.Die Tatsache, dass Sie das untersuchen können operation Argument, das an die NSDraggingSource-Protokollmethode übergeben wird draggedImage:endedAt:operation: Die Erkennung von Drag-Cancelling ist nicht sehr gut dokumentiert.

Im draggedImage:endedAt:operation: Methode fügen Sie einfach die folgende Prüfung hinzu:

if (operation == NSDragOperationNone)
    return;

// Otherwise perform any drag completion tasks.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top