Come posso rilevare se un'operazione di trascinamento è stata annullata utilizzando nsdragginginfo o simile?
-
13-09-2020 - |
Domanda
Ho creato una sottoclasse di Nsimageview e implementato il protocollo informale per trascinare immagini tra altri istanze della stessa classe.Sto tenendo un riferimento all'immagine della vista prima dell'operazione di trascinamento e sono in grado di riportarlo a detta immagine dato determinati criteri.
Tuttavia, non riesco a rilevare se l'operazione di trascinamento è stata annullata.So che il metodo trascurato è chiamato ma viene anche chiamato quando una resistenza ha avuto successo.Qualche idea?
Soluzione
Ho riscontrato un requisito simile.Il fatto che è possibile esaminare l'argomento operation
passò al metodo del protocollo NSDRAGGGINGSOURCE draggedImage:endedAt:operation:
per rilevare la cancellazione del trascinamento non è molto ben documentato.
Nel metodo draggedImage:endedAt:operation:
aggiungere il seguente controllo:
if (operation == NSDragOperationNone)
return;
// Otherwise perform any drag completion tasks.
.