У мене є UICollectionView
з FLowLayout. Це спрацює, як я очікую, більшу частину часу, але час від часу одна з комірок не загортається належним чином. Наприклад, комірка, яка повинна бути в першому "стовпці" третього рядка, якщо насправді відстає у другому рядку, і там просто має бути порожній простір (див. Схему нижче). Все, що ви можете побачити в цій рум’яній комірці - це ліва сторона (решта відрізана), а місце, де воно повинно бути, порожнє.
Це відбувається не послідовно; це не завжди однаковий рядок. Як тільки це станеться, я можу прокрутити вгору, а потім назад, і клітина сама зафіксується. Або, коли я натискаю клітинку (яка переводить мене до наступного подання за допомогою натискання), а потім повертається назад, я бачу клітинку в неправильному положенні, а потім вона перескакує у правильне положення.
Здається, швидкість прокрутки полегшує відтворення проблеми. Коли я прокручую повільно, я все ще час від часу бачу клітинку в неправильному положенні, але тоді вона відразу ж перескакує у правильне положення.
Проблема почалася, коли я додав вставки розділів. Раніше у мене клітини майже змивалися з межами збору (мало або взагалі не було вставок), і я не помітив проблеми. Але це означало, що праворуч і ліворуч від подання колекції було порожньо. Тобто, не вдалося прокрутити. Крім того, смужка прокрутки не знаходилася вліво вправо.
Я можу зробити проблему як на Simulator, так і на iPad 3.
Я думаю, проблема виникає через вставки лівого та правого розділів ... Але якщо значення неправильне, то я би очікував, що поведінка буде послідовною. Цікаво, чи це не може бути помилка з Apple? Або, можливо, це пов’язано з накопиченням вставок або чимось подібним.
Подальші дії : Я використовую цю відповідь нижче від Ніка вже більше 2 років без проблем (на випадок, якщо люди задаються питанням, чи є в цій відповіді дірки - я їх ще не знайшов). Молодці Нік.