me he dado cuenta que cuando se llama a setLayout:animated
en un UICollectionView
para cambiar entre dos diseños, la célula visible en ese momento no se adhiere a la zIndex
sus atributos de diseño se ha puesto en layoutAttributesForItemAtIndexPath:
.UICollectionView setLayout: animado: no preservar zIndex
Por ejemplo, si tuviera que tener un UICollectionView
con UICollectionViewFlowLayout
, ajuste que es minimumLineSpacing
a un número negativo de modo que las células se superponen y luego ponga un zIndex
en cada celda mayor que la de la celda anterior, a continuación, aparece como si el las células se apilan desde abajo hacia arriba.
Sin embargo, esto se rompe si establezco el diseño en otro diseño y vuelvo a ese diseño original. Es como si la celda visible actualmente no escuchara zIndex y se coloca encima de las otras celdas. Si desplazo la celda fuera de la pantalla, vuelva a colocarla en el lugar correcto.
Gracias por la respuesta, aunque no he tenido suerte con su solución. Creo que el problema es que UICollectionView hace algo con el zIndex de la celda seleccionada. Puedo estar equivocado, pero cambiar el diseño puede no llamar al '' initialLayoutAttributesForAppearingItemAtIndex'' si la celda ya está visible y permanece visible durante todo el cambio de diseño. – sampage
Acabo de elaborar un ejemplo rápido de esto y pude reproducir los problemas con el Z-Index. Comprendí que se llamó a 'initialLayoutAttributesForAppearingItemAtIndex' para cada elemento en la pantalla después de la invalidación (cambio de límites animados, bloque de actualización por lotes), pero después de volver a leer los documentos, es para los elementos que necesitan animación. Afortunadamente, pude obtener resultados consistentes al cambiar diseños al configurar el índice z en 'layoutAttributesForElementsInRect:' en lugar de 'layoutAttributesForItemAtIndexPath:' –
@sampage ¿me puede decir algo más sobre el índice Z de las celdas seleccionadas? No puedo encontrar ninguna prueba de lo que dices, pero veo algunas inconsistencias en mis animaciones ... ¡Gracias! –