So habe ich eine UICollectionView, die ich verwenden möchte, um mehrere UICollectionViewCells und verschiedene Header je nach dem Status der Benutzer angezeigt wird. Das Problem ist, kann ich nicht scheinen zu registrieren mehrere UICollectionResuableView (Header) Ansichten innerhalb des Storyboards. Wenn ich versuche, einen als Fußzeile zu registrieren und ihn als Kopfzeile zu verwenden, stürzt die App ab. Ich sehe auch nirgendwo im Storyboard die Anzahl der Abschnitte, die das Problem lindern würden. Im Moment muss ich mehrere UICollectionViews verwenden und die Sammlungsansicht, die ich anzeigen möchte, basierend auf der benötigten Kopfzeile ein-/ausblenden. Gibt es eine bessere Möglichkeit, dies zu tun, oder eine Möglichkeit, mehrere Header-Ansichten in derselben UICollectionView im Storyboard zu registrieren?Mehrere Header zusätzliche Ansicht in der gleichen UICollectionView über Storyboards
8
A
Antwort
11
Sie können nicht mehr als eine Kopfzeile in einem UICollectionView
in einem Storyboard registrieren, aber Sie können eine beliebige Anzahl von ihnen in Code registrieren. Sie sollten jedoch beliebig viele Header in NIB-Dateien erstellen (eine Nib pro Header, wobei der Header das Objekt auf der obersten Ebene ist) und sie in Ihrer Collection-View-Instanz in viewDidLoad
registrieren.
Sie würden dies mit der registerNib:forSupplementaryViewOfKind:withReuseIdentifier:
method tun.
Ich hatte versucht, die registerClass: -Methode, viel sauberer Ansatz. Es wäre trotzdem nett, diesen Wert auf der Sammelansicht im Storyboard festlegen zu können. –
Welche Registrierungsmethode Sie verwenden, hängt davon ab, ob Sie Ihre UI in einer NIB oder in einem Code implementieren möchten. Normalerweise benutze ich den NIB-Ansatz. –
Was für eine lächerliche Übung in Frustration war das. Ich denke, ich hätte es einfach in eine separate Feder legen sollen. – TylerJames