UICollectionView flowLayout umschließt Zellen nicht richtig

Ich habe einUICollectionView mit einem FLowLayout. Es wird die meiste Zeit wie erwartet funktionieren, aber hin und wieder wird eine der Zellen nicht richtig gewickelt. Zum Beispiel die Zelle, die sich in der ersten "Spalte" der dritten Zeile befinden sollte, wenn sie tatsächlich in der zweiten Zeile abschließt und es nur einen leeren Bereich gibt, in dem sie sich befinden sollte (siehe Abbildung unten). Alles, was Sie von dieser Rouge-Zelle sehen können, ist die linke Seite (der Rest ist abgeschnitten) und die Stelle, an der sie sein sollte, ist leer.

Dies geschieht nicht konsequent; es ist nicht immer die gleiche Reihe. Sobald es passiert ist, kann ich nach oben und zurück scrollen und die Zelle wird sich selbst repariert haben. Oder wenn ich auf die Zelle drücke (die mich durch Drücken zur nächsten Ansicht bringt) und dann zurückspringe, sehe ich die Zelle an der falschen Position und springe dann zur richtigen Position.

Die Bildlaufgeschwindigkeit scheint es einfacher zu machen, das Problem zu reproduzieren. Wenn ich langsam scrolle, sehe ich immer noch hin und wieder die Zelle an der falschen Position, aber dann springt sie sofort an die richtige Position.

Das Problem fing an, als ich die Abschnittseinsätze hinzufügte. Zuvor waren die Zellen fast bündig mit den Auflistungsgrenzen (kleine oder keine Einfügungen), und das Problem wurde nicht bemerkt. Dies bedeutete jedoch, dass die rechte und linke Seite der Sammlungsansicht leer war. Dh konnte nicht scrollen. Außerdem war die Bildlaufleiste nicht rechtsbündig.

Ich kann das Problem sowohl auf dem Simulator als auch auf einem iPad 3 lösen.

Ich vermute, das Problem tritt aufgrund der Einfügungen im linken und rechten Abschnitt auf ... Aber wenn der Wert falsch ist, würde ich erwarten, dass das Verhalten konsistent ist. Ich frage mich, ob dies ein Fehler bei Apple sein könnte. Oder liegt das vielleicht an einer Ansammlung von Einfügungen oder Ähnlichem?

Nachverfolgen: Ich habe verwendetdiese Antwort unten von Nick seit über 2 Jahren ohne Probleme (falls sich die Leute fragen, ob diese Antwort irgendwelche Lücken enthält - ich habe noch keine gefunden). Gut gemacht, Nick.

Antworten auf die Frage(11)

Ihre Antwort auf die Frage