Pregunta

Creé una subclase de NSImageView e implementé el protocolo informal para arrastrar imágenes entre otras instancias de la misma clase.Mantengo una referencia a la imagen de la vista antes de la operación de arrastre y puedo volver a configurarla en dicha imagen dados ciertos criterios.

Sin embargo, parece que no puedo detectar si se canceló la operación de arrastre.Sé que se llama al método draggingEnded pero también se llama cuando un arrastre fue exitoso.¿Algunas ideas?

¿Fue útil?

Solución

Encontré un requisito similar.El hecho de que puedas examinar el operation argumento pasado al método del protocolo NSdraggingSource draggedImage:endedAt:operation: para detectar la cancelación de arrastre no está muy bien documentado.

En el draggedImage:endedAt:operation: método simplemente agregue la siguiente verificación:

if (operation == NSDragOperationNone)
    return;

// Otherwise perform any drag completion tasks.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top