2012-11-01 10 views
9

私が見る限り、UICollectionViewFlowLayoutは、最後の部分を除くセクションのすべての行を正当化します。たとえば、1行以上を記入するのに十分な項目がない場合、結果は正当化されません。UICollectionViewの最後の行を整列します

enter image description here

、それはまた、セクションの最後の行を正当化するように設定するか、またはサブクラスUICollectionViewFlowLayoutするいずれかの最も簡単な方法は何ですか?

enter image description here

答えて

4

あなたは、アイテムのUICollectionViewLayoutAttributesオブジェクトのframeプロパティを変更することで、UICollectionViewFlowLayoutをサブクラス化し、あなたがそれらをしたい(すでに正しい最初除く、)最後の行にあるすべてのアイテムを配置するlayoutAttributesForElementsInRect:layoutAttributesForItemAtIndexPath:をオーバーライドすることによってこれを行うことができます。

10

これは残念ながら、実際には不可能です。残念ながら、そのようには設計されていません。

私は考えることができるかもしれないが、データソースに余分なアイテムを追加し、最後に返されます。セルの高さは0ピクセル、コレクションビューの幅です。これにより、最後の行はその上に1つの項目だけを持つ単一の行になり、その上にあるすべての行は正当化されます。

+0

これは本当に良い単純な解決策です!ありがとう! – dowi

+1

余分なアイテムの幅は '(コレクションの幅のビュー) - (左右のコンテンツのインセット) - (左右のセクションインセット)'でなければなりません。 – Pang

+0

upvote due ..そのバグに対する簡単な解決策 –

関連する問題