Dekoration Ansichten sind, was nur der Name schon sagt: Dekoration, Chrom. Nur das Layout der Sammlungsansicht entscheidet darüber, was sie sind und wo sie abgelegt werden sollen (wenn Sie z. B. alle 5 Elemente auf dem Bildschirm zeichnen möchten).
Zusätzliche Ansichten haben mehr mit Ihren Daten zu tun. Das Layout der Sammlungsansicht bestimmt immer noch, wo sie abgelegt werden sollen. Sie werden jedoch wie normale Zellen von der Datenquelle der Sammlungsansicht bereitgestellt. Wenn Sie beispielsweise Titel für Abschnitte einfügen möchten, würden Sie zusätzliche Ansichten verwenden, da der Titel für jeden Abschnitt unterschiedlich ist und Sie die Datenquelle für jeden Abschnitt aufrufen müssen.
Wenn Ihr Loader generisch ist, könnte es eine Dekorationsansicht sein, dekorationsansichten sind jedoch nicht wirklich zugänglich (das Layout-Objekt gibt an, wo sie platziert werden sollen), und sie werden nie erstellt ein Verweis auf sie), also, wenn Sie anfangen möchten, es zu animieren, ist eine Dekorationsansicht nicht die beste Wahl. Wenn Sie eine Zusatzansicht verwenden, haben Sie zum Zeitpunkt der Erstellung (in Ihrer Datenquelle collectionView:viewForSupplementaryElementOfKind:atIndexPath:
Methode) Zugriff darauf. Sie können die Sammlungsansicht jedoch nur für reguläre Datenzellen abfragen, sobald sie auf dem Bildschirm angezeigt werden. Außerdem müssen Sie Ihre eigene UICollectionViewLayout
Klasse schreiben, wenn Sie individuelle Dekoration oder ergänzende Ansichten verwenden möchten. Die Basis UICollectionViewFlowLayout
bietet nur eine Fußzeile und eine zusätzliche Kopfzeile.
Ich war verwirrt über den Unterschied, bis ich Folgendes bemerkte: für zusätzliche Ansichten, rufen Sie eine der 'Register' Methoden in der Sammlung anzeigen (oder im Storyboard registrieren). Für Dekorationsansichten verwenden Sie eine der 'Register'-Methoden für das Layout-Objekt. – RyanM