6 Stimmen

Automatisches "force repel"-Layout in Cocoa

Sie wissen, dass in vielen Mac/iPhone-Programmen (z. B. im Finder) beim Ziehen eines Symbols alle anderen Symbole von der Maus "abgestoßen" werden und Platz für das Symbol lassen, das Sie ziehen.

Ich frage mich, ob das eine eingebaute Cocoa-Funktion ist (in Layout-Einschränkungen usw.). Wenn nicht, gibt es eine Bibliothek, oder Dokumente, wie es zu implementieren?

6voto

NSResponder Punkte 16747

Wenn Sie es mehr oder weniger umsonst haben wollen, verwenden Sie eine NSCollectionView.

Wenn NSCollectionView nicht Ihren Anforderungen entspricht, ist es relativ einfach, es mit NSAnimation zu implementieren. Grundsätzlich ist die Art und Weise, wie NSToolbar oder NSCollectionView es tut (zum Beispiel), um herauszufinden, wo das Symbol, das Sie ziehen würde landen, wenn Sie es loslassen, und es sendet die anderen Symbole an ihre neuen Positionen mit Core Animation, um sie reibungslos zu bewegen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X