У меня есть UICollectionView с сеткой изображений. Когда вы нажмете на один, он откроет сетку и покажет subview с некоторыми деталями. Вот так:
Я открываю сетку в своем UICollectionViewLayout, настраивая UICollectionViewLayoutAttributes и устанавливая перевод в свойстве transform3D для всех ячеек ниже текущей строки выбранного элемента. Это работает очень хорошо, и это намного лучшая анимация и более простой подход, чем моя первая попытка вставить другую ячейку в сетку, которая отличается от других.
В любом случае... он работает большую часть времени, но затем, после продолжения использования, я вижу старые изображения в представлении коллекции. Они похожи на призрачные клетки. Я не могу нажимать на них, это похоже на то, что они не были удалены из представления коллекции должным образом, и они сидят поверх ячеек, предотвращая краны и просто раздражая. Вот так:
Любые идеи, почему эти клетки делают это?
EDIT: Я бы хотел добавить, я думаю, что это происходит только тогда, когда я быстро просматриваю представление коллекции. Я написал свою собственную замену UICollectionViewFlowLayout для проверки, если это все еще происходит. Оно делает.
ИЗМЕНИТЬ 2: 3D-преобразования или макет не имеют к этому никакого отношения. Это должно быть ошибкой в UICollectionView. Я могу использовать, просто прокручивая очень быстро, позволяя зайти в тупик, а затем запросить представления, которые находятся на экране. Часто бывает вдвое больше клеток, но они скрыты, поскольку они сложены друг на друга. Моя реализация выше показывает их из-за перевода, который я делаю.
Это также может повредить производительность.
См. мой ответ для решения.