objective-c ios6 uicollectionview uicollectionviewdelegate

objective c - UICollectionView: ¿Cómo definir un UICollectionViewLayout que permita el desplazamiento horizontal y vertical?



objective-c ios6 (5)

UICollectionViewFlowLayout definitivamente no puede: "El diseño de la cuadrícula se desplaza solo por un eje, ya sea horizontal o verticalmente".

Es una subclase de UICollectionViewLayout . Parece que podría crear su propia subclase de UICollectionViewLayout y desplazarse en ambas direcciones.

¿Qué quiere decir con página, quiere hacer paginación como una vista de scrollview ? Me pregunto sobre el uso de UICollectionViewFlowLayout en un UICollectionView para desplazamiento vertical, dentro de un UIScrollView para desplazamiento horizontal.

Por el momento estoy tratando de crear un UICollectionView , que debería mostrar una excel-like-spreadsheet simple como excel-like-spreadsheet , con rows y columns . Esta debería ser una tarea fácil con UICollectionViews , creo. Y realmente me gustaría hacer la implementación en UICollectionView , no en ningún grid framework .

Pero en este momento estoy colgando un poco. Lo que descubrí es que, desafortunadamente, no puedo usar UICollectionViewDelegateFlowLayout , porque esto solo permite el scrolling en dirección horizontally o vertically . Pero necesito scrolling en ambas direcciones.

Por lo tanto , tengo que usar UICollectionViewLayout , pero para esto no encontré buenos ejemplos, cómo usarlo. ¿ UICollectionViewLayout de ustedes tiene un ejemplo, cómo subclase un UICollectionViewLayout para admitir rows y columns ?

Gracias por adelantado.



He añadido un ejemplo de uso de un diseño personalizado para implementar una cuadrícula de desplazamiento horizontal y vertical simple aquí https://github.com/neildavis/MyCollectionView

Mi ejemplo usa PSTCollectionView porque necesitaba soporte para iOS 5, pero es compatible con API con UICollectionView incorporado. (En realidad, utiliza las clases de compatibilidad (PSUICollectionView, etc.) proporcionadas para asegurarse de que utiliza UICollectionView en iOS 6 y recurre a PSTCollectionView, etc. en iOS 5.) Simplemente elimine el prefijo ''PS'' para revertir a iOS 6 solo la implementación de UIKit .


Respuesta que no requiere una disección de 3 proyectos de muestra

En su subclase UICollectionViewLayout:

  1. Implementar -(CGSize)[collectionViewContentSize] y devolver un tamaño más grande en alto y ancho que el tamaño de UICollectionView . (Accesible a través de: self.collectionView.frame.size )
  2. Calcule el diseño de su UICollectionViewCell dentro del tamaño del contenido en lugar del tamaño del marco.

Nota: Asegúrese de que el desplazamiento esté habilitado en UICollectionView. (Está activado por defecto)