Я заметил, что при вызове setLayout:animated в UICollectionView для переключения между двумя макетами, в настоящее время видимая ячейка не придерживается zIndex, ее атрибуты макета были установлены в layoutAttributesForItemAtIndexPath:.
Например, если бы я имел UICollectionView с UICollectionViewFlowLayout, установите его minimumLineSpacing на отрицательное число, чтобы ячейки перекрывались, а затем устанавливали zIndex на каждую ячейку выше, чем у предыдущей ячейки, то кажется, что ячейки укладываются снизу вверх.
Однако это ломается, если я устанавливаю макет на другой макет, а затем обратно на этот оригинальный макет. Это как если бы в настоящее время видимая ячейка не прослушивает zIndex и помещается поверх других ячеек. Если я прокручиваю ячейку за кадром, то обратно на нее находится в правильном месте.