UICollectionViewFlowLayoutを使っていると、微妙に不満がたまってきます。
- Sticky Header/Footerができない
- Itemを真ん中寄せにできない
- Item領域の背景色を変更できない
ちょっと時間がとれたので、この辺の不満を解消したBTKCollectionViewFlowLayoutを作成しました。
BTKCollectionViewFlowLayout on GitHub
下記のキャプチャを見れば、何ができるか大体わかると思います。
また、キャプチャをとったテスト用UI自体も一緒にコミットしているので、興味がある人はビルドして実行してみてください。
Supplemental Viewの追加
UICollectionViewFlowLayoutは標準でHeader(青)と、Footer(黄)をサポートしています。
これらに、アイテム領域の背景となるBody(緑)と、Header/Body/Footer全体の後ろに配置されるBackground(白)を追加してました。アイテム部分だけ背景色を変えたい等のデザイン上の要望に簡単に対応できます。
Item表示位置の変更
横(Left) + 縦(Center)
横(Center) + 縦(Center)
横(Right) + 縦(Center)
横(Right) + 縦(Top)
横(Right) + 縦(Bottom)
スティッキーヘッダ
注:挙動を見やすくするために、UICollectionViewにcontentInsetを設定しています。
スティッキーフッタ
注:挙動を見やすくするために、UICollectionViewにcontentInsetを設定しています。
インストール方法
Podsに登録済みなので、さくさくインストールできるはずです。
pod 'BTKCollectionViewFlowLayout'