viewForSupplementaryElementOfKind wird nicht für benutzerdefinierte UICollectionViewLayout aufgerufen

9

Ich habe ein benutzerdefiniertes UICollectionViewLayout erstellt und es in meinen Collection View Controller im Storyboard eingefügt. Ich habe nicht so viele Probleme beim Anzeigen der Gegenstände / Zellen bekommen. Mein Problem ist, dass der viewForSupplementaryElementOfKind nicht aufgerufen wird. Ich kann nicht darauf hinweisen, warum das so ist. Ich habe versucht, zum Standardlayout zurückzukehren und es ruft es dann aber ich brauche meine benutzerdefinierte UICollectionViewLayout. Ich habe NSLogs zu überprüfen und viewForSupplementaryElementOfKind wird nicht aufgerufen.

Hier ist mein MyCollectionViewController.m

%Vor%

Hier ist mein MyFlowLayout.m

%Vor%

}

Wie Sie in MyFlowLayout sehen können, gibt es Dinge, die ich ausprobiert habe, aber es hat noch nicht viewForSupplementaryElementOfKind aufgerufen. Ich habe versucht, layoutAttributesForItemAtIndexPath zu implementieren, da ich layoutAttributesForSupplementaryViewOfKind habe. Ich habe auch versucht, feste Zahlen wie die 75 und 320 zu verwenden, die Sie nur sehen, um zu überprüfen, ob der Header generiert würde. Der Delegat, den Sie sehen, dient nur dazu, die Höhe einer Ansicht zu erhalten.

Da ich den Header genügend Platz gegeben habe, um NSLogs zu sehen und zu verlassen und trotzdem (UICollectionReusableView *) collectionView: (UICollectionView *) collectionView viewForSupplementaryElementOfKind: (NSString *) Art atIndexPath: (NSIndexPath *) indexPath ist nicht namens.

Hier sind einige, die ich angeschaut und ausprobiert habe: stackoverflow aber wie Sie aus dem kommentierten Code sehen können, den ich aufgenommen habe. Es hat immer noch nicht funktioniert.

Danke für die Hilfe.

    
Revin 09.03.2016, 00:47
quelle

2 Antworten

6

Ich hatte auch ein Problem damit und meine Lösung bestand darin, einfach Attribute für den Abschnitt in prepareLayout

hinzuzufügen %Vor%     
I. Alex 23.06.2016 18:00
quelle
4

Fügen Sie die Standardgröße des Header-Abschnitts hinzu:

%Vor%

Die Standardgrößen sind (0, 0). Deshalb wird Header nicht angezeigt.

ODER

Es gibt auch eine andere Möglichkeit, die Delegate-Methode für UICollectionView zu implementieren:

%Vor%     
Rocky 31.07.2017 06:23
quelle