UICollectionView flowLayout no envuelve las celdas correctamente

tengo unUICollectionView con un flowlayout. Funcionará como espero la mayor parte del tiempo, pero de vez en cuando una de las celdas no se ajusta correctamente. Por ejemplo, la celda que debería estar en la primera "columna" de la tercera fila si realmente se está arrastrando en la segunda fila y solo hay un espacio vacío donde debería estar (consulte el diagrama a continuación). Todo lo que puede ver de esta celda de colorete es el lado izquierdo (el resto está cortado) y el lugar donde debe estar está vacío.

Esto no sucede consistentemente; No siempre es la misma fila. Una vez que haya sucedido, puedo desplazarme hacia arriba y luego hacia atrás y la celda se habrá arreglado sola. O, cuando presiono la celda (que me lleva a la siguiente vista a través de un empuje) y luego vuelvo a aparecer, veré la celda en la posición incorrecta y luego saltará a la posición correcta.

La velocidad de desplazamiento parece facilitar la reproducción del problema. Cuando me desplazo lentamente, todavía puedo ver la celda en la posición incorrecta de vez en cuando, pero luego saltará a la posición correcta de inmediato.

El problema comenzó cuando agregué las inserciones de las secciones. Anteriormente, tenía las células casi alineadas contra los límites de la colección (poco o nada de inserciones) y no noté el problema. Pero esto significaba que la derecha y la izquierda de la vista de colección estaban vacías. Es decir, no se pudo desplazar. Además, la barra de desplazamiento no estaba a la derecha.

Puedo hacer que el problema suceda tanto en el simulador como en un iPad 3.

Supongo que el problema está ocurriendo debido a los recuadros izquierdo y derecho ... Pero si el valor es incorrecto, entonces espero que el comportamiento sea consistente. Me pregunto si esto podría ser un error con Apple? O tal vez esto se deba a una acumulación de las inserciones o algo similar.

Seguir: He estado usandoesta respuesta abajo por Nick durante más de 2 años sin ningún problema (en caso de que la gente se esté preguntando si hay algún hueco en esa respuesta, aún no he encontrado ninguno). Bien hecho Nick.

Respuestas a la pregunta(11)

Su respuesta a la pregunta