0

Ich versuche, eine CollectionView zu meinem CollectionView Header hinzuzufügen. Eine Sammlung in einer Sammlung anzeigen Ich denke,. Ich habe das Header-Setup und ich bekomme eine leere CollectionView im Header-Teil, wenn ich die App ausführen, aber wo kann ich diese CollectionView programmieren.Hinzufügen collectionView zu Header

Ich habe eine Steckdose für sie in der Datei header.swift erstellt, auf die ich in meiner Hauptsammelansicht zugreifen kann, aber ich kann die Zellen nicht konfigurieren, die Anzahl der Abschnitte usw. einstellen. Wenn es nur ein Etikett war In der Kopfzeile könnte ich den Text usw. hier einstellen, aber ich bin mir nicht sicher, wie ich hier eine CollectionView konfigurieren soll. Ich habe versucht, eine CollectionViewController-Datei zu erstellen und diese nur mit der colectionView im Header zu verknüpfen, aber das funktioniert nicht. Wie kann ich eine Unterklasse für diese CollectionView (in der Kopfzeile) erstellen?

Swift 3

Antwort

0

Ok heres das Abkommen: Ich denke, Sie verwenden ein UICollectionViewController oder eine UIViewController mit einem UICollectionView, die das UICollectionViewDataSource-Protokoll implementiert, nicht wahr? Dies wird Ihren UIViewController massiv und unnötigerweise aufblähen.

Ein besserer Weg wäre, ein separates Objekt zu erstellen, das die DataSource Ihrer Collection-Ansichten ergänzt. Eine für Ihre Hauptsammlungsansicht und eine für die Kopfsammlungsansicht. Dann müssen Sie sie nur verdrahten. Sie müssen irgendwo einen Verweis auf Ihre Datenquellenobjekte beibehalten.

So normalerweise in ViewDidLoad Ihres View-Controllers erhalten Sie Ihre Sammlung anzeigen und collectionView.delegate = theDataSourceObject aufrufen.

theDataSourceObject ein fauler var in Ihrem UIViewController sein könnte lazy var myDataSourceObject = MyDataSource()

Dann, egal wo Sie Ihre Kopf Sammlung Ansicht erstellen, Sie setzen auch die Datenquelle. Ich hoffe du verstehst was ich meine und diese Antwort hilft dir. Wenn Sie davon etwas lernen sollten, dann müssen Ihre View-Controller nicht notwendigerweise die Datenquelle und/oder der Delegat von UITableView oder UICollectionView sein.

Sie können völlig unterschiedliche Objekte sein. Ein Singleton wäre ebenso eine Option wie das Speichern von Instanzvariablen Ihrer Datenquelle.

Verwandte Themen