Unterziehen Sie UICollectionViewLayout und weisen Sie sie UICollectionView zu

8

Ich habe einen CollectionViewController

%Vor%

Ich habe auch eine UICollectionViewLayout-Unterklasse: CustomCollectionLayout.m

%Vor%

Ich versuche, einen neuen Rahmen für die Zelle zu verwenden, nur einen an einer zufälligen Position. Das Problem ist layoutAttributesForItemAtIndexPath wird nicht aufgerufen.

Vielen Dank im Voraus für einen Rat.

    
brainondev 23.10.2012, 22:52
quelle

2 Antworten

12

Bearbeiten: Ich habe nicht bemerkt, dass Sie Ihren Fall gelöst haben, aber ich hatte das gleiche Problem und hier half mir das. Ich verlasse es hier, es kann für jemanden nützlich sein, der angibt, dass es zu diesem Thema noch nicht viel gibt.

Nach dem Zeichnen ruft UICollectionView nicht die Methode layoutAttributesForItemAtIndexPath: , sondern layoutAttributesForElementsInRect: auf, um festzustellen, welche Zellen sichtbar sein sollen. Es liegt in Ihrer Verantwortung, diese Methode zu implementieren, und von dort rufen Sie layoutAttributesForItemAtIndexPath: für alle sichtbaren Indexpfade auf, um die genauen Positionen zu bestimmen.

Fügen Sie das also Ihrem Layout hinzu:

%Vor%     
Hubert OG 24.10.2012, 20:59
quelle
0

War ein Problem mit Storyboard-Parametern. Benutzerdefiniertes UICollectionLayout im Inspektorfenster zugewiesen.

    
brainondev 24.10.2012 14:32
quelle

Tags und Links