UICollectionView funktioniert auf iOS7, aber nicht auf iOS6

8

Meine UICollectionView -Zellen werden nicht auf iOS6 angezeigt, weil meine Delegate-Methode cellForItemAtIndexPath nicht aufgerufen wird. Ich vermute wegen dieser Warnung:

%Vor%

Ich bekomme die Warnung auf iOS7 nicht, und alle Zellen werden dort auch korrekt angezeigt.

Ich habe mein collectionView -Frame auf Höhe 270 in .xib gesetzt, und es sind keine Einsätze definiert. Ich habe meine Zellenhöhe in .xib auf 270 gesetzt. Ich kann mein collectionView -Frame zur Laufzeit ausdrucken und es ist 271.

Auch mein collectionview befindet sich tatsächlich in einer benutzerdefinierten tableview -Zelle.

Irgendwelche Ideen? Danke!

    
m.y 04.03.2014, 18:36
quelle

6 Antworten

4

Das hat mein Problem gelöst! Setzen Sie in meiner .xib meine Größe der Sammlungsansicht auf einen kleineren Wert.

Mein Setup ist, dass ich diese collectionview in einer benutzerdefinierten tableview -Zelle und habe Ich gebe die Höhe meiner tableview -Zelle programmatisch zurück (abhängig vom Inhalt). Es könnte also sein, dass meine Warnungen damit zu tun hatten, dass mein collectionview nicht in die Zelle tableview passt. Daher wurde das initiale collectionview auf einen kleineren Wert gesetzt.

Ich war auf dem falschen Weg und dachte, dass das Problem mit meiner collectionview und ihrer colletionview -Zelle war.

Vielleicht?

    
m.y 05.03.2014, 11:05
quelle
8

Versuchen Sie, self.automaticallyAdjustsScrollViewInsets = NO

festzulegen

Dies wurde in eingeführt ein Versionscheck, wenn Sie und darunter.

    
shtefane 04.03.2014 20:58
quelle
3
%Vor%

hat es tatsächlich geschafft. Es löste auch mein Problem in swift, wo die Zellen eines horizontalen Fließlayouts einen Rahmen von -32 (???) hatten und nicht richtig in die Sammlungsansicht passten.

    
helkarli 28.08.2014 08:08
quelle
1

Ich habe festgestellt, dass ich self.collectionView.collectionViewLayout.itemSize in viewWillLayoutSubviews manuell setzen musste.

%Vor%

Eine andere Möglichkeit, den gleichen Trick zu erzeugen, wäre die Implementierung der Methode
collectionView:layout:sizeForItemAtIndexPath:

    
mackworth 04.03.2014 21:17
quelle
0

Ich habe das gleiche Problem, in meinem Fall ist die Größe von collectionCell im Storyboard 96x96 und auch unter -(CGSize)collectionView:layout:sizeForItemAtIndexPath:

Die Lösung war Entfernen dieses Delegate:

%Vor%

Und das ist übrigens unter ios7, es ist spät, aber ich hoffe, das wird einigen helfen .. Prost ..

    
0yeoj 23.06.2015 07:33
quelle
-1

Set:

%Vor%     
shalunv 08.10.2015 12:51
quelle