Frage

Ich möchte eine nscollectionview erstellen, die dem in iPhoto '11 ähnelt. Ich möchte mehrere Bilder im Abschnitt gruppieren und auch einen Abschnittsüberschuss erstellen. Der Abschnitt -Header eines bestimmten Abschnitts ist immer sichtbar, bis das letzte Element dieses Abschnitts sichtbar ist. Sie können sich das Bild ansehen, um zu sehen, was ich meine.

Bearbeiten: Ich sollte hinzufügen, dass der Inhalt keine Bilder sind.

enter image description here

Danke im Voraus

War es hilfreich?

Lösung

Sie müssen wahrscheinlich Calayers direkt verwenden. NSCollectionView Holen Sie sich den größten Teil seiner Magie von Coreanimation IIRC, und es sieht so aus, als müssten Sie einige davon duplizieren. Alternativ können Sie versuchen, verschachtelte Sammlungsansichten zu verwenden - eine enthaltende Gruppen, dann enthält jede Gruppe eine weitere Sammelansicht einzelner Elemente.

In jedem Fall wird Ihre Ansicht/Ebenenhierarchie gleich sein. Sie haben einen Container der obersten Ebene, der nur eine Spalte hat (da sich Gruppen über die gesamte Breite erstrecken), und jedes Element innerhalb, das eine beliebige Anzahl von Spalten aufweist, basierend auf der Elementbreite. IE Ihre "Gruppen" -Kollektionsansichtsartikel dehnen sich, um die Breite zu füllen, aber Ihre individuellen Elemente in diesen Gruppen werden es jedoch nicht tun.

Wenn Sie den RAW verwenden möchten CALayer Herangehensweise, dann möchten Sie sich ansehen CAConstraintLayoutManager. Das bietet die Magie im Inneren NSCollectionView. Ein guter Ort, um nach Informationen darüber zu suchen, ist Bill Dudneys Coreanimation -Buch von pragmatischen Programmierern. Bill ist jetzt die offizielle Plattform -Evangelistin für Apple. Ich denke, es ist sicher zu sagen, dass er weiß, wovon er dort spricht.

Insgesamt würde ich vorschlagen, eine verschachtelte Verwendung zu verwenden NSCollectionView Annäherung an den Ansatz zu Beginn und sehen Sie sich nur dann auf die rohe Coreanimation ab, wenn die Leistung fehlt, oder wenn Sie Probleme haben, einige Dinge zu funktionieren. Verwendung NSCollectionView Ermöglicht es Ihnen, alle Ihre Strömung zu behalten NSView-Ness vorhanden, also wird es weniger Arbeit sein. Wenn es in Ordnung ist, sind Sie zu Hause und trocken. Wenn nicht, haben Sie noch etwas zu versuchen, das Sie für den Inhalt Ihres Herzens optimieren können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top