Mehrere Dekorationsansichten wurden zu UICollectionView hinzugefügt

9

Ich erstelle ein grundlegendes Kollektionsansichtslayout, welches die Unterklassen UICollectionViewFlowLayout enthält. Ich bemerke jedoch, dass es mehrere übereinander gestapelte Dekorationsansichten zu geben scheint.

Immer wenn der Benutzer ein Element im letzten Abschnitt auswählt, füge ich einen neuen Abschnitt mit dem folgenden Code hinzu. Es scheint, dass jedes Mal, wenn ich diesen Code ausführe, eine zusätzliche Kopie der Dekorationsansicht zu jedem bereits vorhandenen Abschnitt hinzugefügt wird.

%Vor%

Ich habe das bestätigt, indem ich meine Dekorationsansichten alpha von 0.2f gebe und sie übereinander stapeln.

Ich habe auch einen Dump der Sammlungsansichtshierarchie ausgeführt und 10 Instanzen von AFDecorationView gesehen, wenn ich nur 4 sehen sollte:

%Vor%

Ich habe versucht, ein anderes benutzerdefiniertes Layoutbeispiel zu betrachten, aber sie scheinen auch einige Instanzen ihrer Dekorationsansichten zu instanziieren . Könnte das ein Fehler in UICollecionView sein? Oder liegt es an uns, das Dekorationslayout-Attribut nur einmal pro Sektion in layoutAttributesForElementsInRect: hinzuzufügen?

Die dekorativen Teile des benutzerdefinierten Layouts sehen wie folgt aus:

%Vor%

Ich möchte nur eine Dekorationsansicht pro Abschnitt, also füge ich die Dekorationsansicht zum ersten Abschnitt hinzu.

    
Ash Furrow 13.01.2013, 19:46
quelle

2 Antworten

3

Dies scheint ein Fehler in UICollectionView zu sein. Ich habe einen Fehlerbericht bei Apple eingereicht.

    
Ash Furrow 14.01.2013, 02:24
quelle
1

Ich hatte ein ähnliches Problem, aber ich konnte es lösen, indem ich manuell alle Dekorationsansichten in prepareLayout in meiner benutzerdefinierten Layoutklasse löschte (ich mache das, bevor ich [super prepareLayout] aufruft):

%Vor%     
nburk 17.10.2013 13:24
quelle