5

Sto costruendo una vista di raccolta, ogni cella ha una larghezza fissa ma un'altezza variabile. Dovrebbe esserci un bordo di 1 px all'interno di ogni cella. Ho cercato di trovare un modo per farli allineare verticalmente ma finire con uno spazio bianco tra di loro. Inoltre, alcune volte le celle finiscono l'una sopra l'altra.Raccolte allineate verticalmente celle di visualizzazione con altezze variabili

Collection view example

Quale sarebbe il miglior wat per risolvere questo problema. Ho preso in considerazione la creazione di sottoclassi UICollectionViewFlowLayout

Attualmente sto impostando la dimensione in questo modo:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 

    return CGSize(width: CGFloat(defaultCellSize), height: CGFloat(defaultCellSize * ratio)) 

} 

risposta

1

Provare ad usare questa libreria https://github.com/chiahsien/CHTCollectionViewWaterfallLayout ha gestito ciò che è richiesto.

+1

Sembra buono. Ancora curioso di vedere se c'è un modo semplice e pulito per farlo io stesso! – KMV

+0

Il repository contiene anche un delegato ispirato al layout del flusso che è davvero facile da implementare. Risolto il mio problema! – KMV