Wie ändern Sie ein Ziehen-und-Ablegen-Bild während des Ziehens?

7

Ich möchte also ein Objekt von einer Quelle auf mehrere potenzielle Ziele ziehen. Wenn sich das Objekt über jedem Ziel befindet, möchte ich, dass es sich in ein anderes Bild verwandelt. Gibt es einen einfachen Weg, dies aus der Perspektive NSDragSource zu tun?

    
Ben Gottlieb 10.10.2009, 03:27
quelle

4 Antworten

3

Es gibt keine Möglichkeit, dies nur mit den Drag-Source-APIs zu tun.

Wenn Sie sich den Interface Builder anschauen, wird etwas Ähnliches wie gewünscht ausgeführt. Wenn Sie eine Schaltfläche aus der Bibliothek ziehen, wird die Schaltfläche in der Mitte des Ziehens animiert.

Nach Meinung der meisten Leute besteht die Art, wie Apple das tut, darin, das Ziehbild zu einem kleinen transparenten Bild zu machen. Dann erstellen sie ein Fenster und lassen es der Maus folgen. Sie können dann das Fenster verwenden, um jede gewünschte Art von Animation auszuführen.

    
Leibowitzn 10.10.2009, 05:58
quelle
16

Sie können dies tun, indem Sie enumerateDraggingItemsWithOptions: method von NSDraggingInfo in den Handler-Methoden Ihres Ziehziels verwenden (d. h. - Ihre Implementierung des NSDraggingDestination -Protokolls).

Zum Beispiel:

%Vor%     
quelle
5

Joshua Nozzi hat einen guten Weg dazu gemacht: Ссылка

    
Ben Gottlieb 27.11.2009 22:05
quelle
4

Überprüfen Sie die Methode 'enumerateDraggingItemsWithOptions' von NSDraggingInfo.

    
panupan 28.08.2012 23:11
quelle