Search code examples
macoscocoadrag-and-dropnsdraggingitem

How do you change a drag-and-dropped image mid-drag?


So I want to drag an object from one source to multiple potential destinations. When the object is over each destination, I want it to 'morph' into a different image. Is there a straightforward way to do this from the NSDragSource perspective?


Solution

  • There's no way to do this using just the drag source APIs.

    If you look at Interface Builder it does something similar to what you want. When you drag a button out of the library the button animates in the middle of the drag.

    According to most people the way Apple is doing this is by making the drag image a small transparent image. Then they create a Window and have it follow the mouse. You can then use the window to do any type of animation you want.