Diseño CollectionView para diferentes orientaciones de image y relación de aspecto?

Me pregunto ¿cómo usamos una vista de colección para mostrar imágenes con diferentes tamaños, relación de aspecto y orientación? ¿Hay alguna forma de encontrar una "coincidencia" dentro de esa image?

Echa un vistazo a esta captura de pantalla de la aplicación iOS de DeviantArt:

introduzca la descripción de la imagen aquí

Es posible que hayas notado que las imágenes con la misma altura y que podrían ajustarse en la pantalla estaban en la misma fila, a pesar de que tienen una orientación diferente …

¿Cómo es posible esto a través de SWIFT?

Por favor, ayúdame.

¡Muchas gracias por adelantado!

El único que sé que tiene un layout similar que muestra es NHBalancedFlowLayout . Está construido en Objective-C, pero puedes echar un vistazo y escribir el tuyo propio o simplemente usar el encabezado de puente (la descripción de cómo usar ObjC + Swift está aquí ).

Actualización: después de una pequeña investigación, he encontrado un layout más excelente: YJZAlbumCollectionViewLayout . Yo diría que esta parece aún mejor. También construido en Objective-C.