2012-11-01 12 views
9

Per quanto posso vedere, UICollectionViewFlowLayout giustifica tutte le righe di una sezione tranne l'ultima. Quindi, ad esempio, se non ci sono abbastanza elementi per riempire più di 1 linea, il risultato non è giustificato.Giustifica l'ultima riga di UICollectionView

enter image description here

Qual è il modo più semplice per configurare o sia sottoclasse UICollectionViewFlowLayout in modo che giustifica anche l'ultima riga di una sezione?

enter image description here

risposta

4

È possibile farlo sottoclassi UICollectionViewFlowLayout e prioritario layoutAttributesForElementsInRect: e layoutAttributesForItemAtIndexPath: di mettere tutti gli elementi l'ultima riga (eccetto il primo, che è già corretta) dove vuoi, modificando la proprietà frame dell'oggetto UICollectionViewLayoutAttributes dell'elemento .

10

Questo non è davvero possibile, purtroppo. Purtroppo non è stato progettato in questo modo.

Una cosa che posso pensare potrebbe funzionare se aggiungere un elemento aggiuntivo nell'origine dati, restituito alla fine, che ha una cella alta 0 pixel e la larghezza della vista dell'insieme. Ciò costringerà l'ultima riga a essere una riga singola con solo un elemento su di esso e quindi tutte le righe sopra saranno giustificate.

+0

questa è una soluzione davvero buona e semplice! Grazie! – dowi

+1

La larghezza dell'elemento in più dovrebbe essere '(larghezza della vista dell'insieme) - (inserto di contenuto sinistro e destro) - (inserto di sezione sinistro e destro)'. – Pang

+0

upvote dovuto .. soluzione semplice a questo bug –

Problemi correlati