Ich versuche herauszufinden, wie man drag and drop von innerhalb einer NSOutlineView in sich selbst implementieren kann.
Ich möchte zum Beispiel, dass der Benutzer die Elemente in der NSOutlineView neu anordnen, verschachteln und neu verschachteln kann, aber ich muss keine Objekte aus anderen Quellen (wie Dateien oder aus einer anderen Ansicht) ziehen können ).
Alle Beispiele, die ich finden kann, befassen sich mit dem Ziehen von Objekten in NSOutlineView, nicht nur in sich selbst und scheinen übermäßig komplex zu sein. Ich nehme an, das ist möglich.
Kann jemand auf einige Dokumente hinweisen, die sich nur mit diesem Fall befassen? Vielleicht fehlt mir einfach das Offensichtliche.
Ich habe festgestellt, dass die Dokumentation etwas unklar ist, und unter anderem wurden die neuen Möglichkeiten in Lion hinzugefügt.
Angenommen, Sie benötigen dies für 10.7 oder höher, dann könnte dies ein Gerüst für Ihre Implementierung sein:
Implementieren Sie in Ihrer Datenquellen- / Delegatklasse:
%Vor%Es gibt eine Menge Code für die letzte Methode und für die animierte Bewegung Apples Komplex-Tabellenansicht-Demo-Code , der in samirs Kommentar erwähnt wird, ist ziemlich nützlich, wenn auch etwas zu entschlüsseln.
Ich habe ein kleines Beispielprojekt erstellt, in dem Sie NSOutlineView
hinzufügen können und entferne Gegenstände.
Heute habe ich die Drag & Drop-Unterstützung basierend auf @ Monolos Antwort implementiert ( Siehe Änderungen ).
Tags und Links cocoa drag-and-drop nsoutlineview