UICollectionView
特定のページの画面境界の下部に「くっつく」フッターを提供する最良の方法は何ですか? が全画面UICollectionView
表示で、セクションが 1 つしかないとします。
現在、 でUICollectionReusableView
オブジェクトを提供していますがcollectionView:viewForSupplementaryElementOfKind:atIndexPath:
、(予想どおり) コレクションのコンテンツがこの画面の境界を超えると、フッターが画面外に押し出されます。
キーは装飾ビューだと思いますが、これらがどのように機能するかについての良いコード(非IB)の例を見つけることができません.Appleのドキュメントは、私の意見では、この特定の主題について不明確です.
再更新: 装飾ビュー
装飾ビューを作成して実験した後(このチュートリアルを使用)、いくつかの制限にぶつかりました。つまり、装飾ビューオブジェクトとUICollectionViewController
コントローラー オブジェクトの間にコールバックが実際には存在しないということです (装飾ビューUICollectionViewLayout
はオブジェクトによって管理され、UICollectionViewController
物体)。Apple は、装飾ビューが視覚的な装飾に限定され、データ駆動型ではないことに非常に真剣に取り組んでいるようです (ただし、明らかにこれを回避することはできます)。
したがって、「正しい」解決策はまだわかりませんが、その間、静的UIView
オブジェクトを作成し、オブジェクトからそれを管理しているだけですUICollectionViewController
。問題なく動作しますが、気分が悪いです。
再更新: Sticky HEADERS
過去数か月にわたって、さまざまなプロジェクトで同様の問題に取り組み、最近、スティッキー HEADERS の解決策を見つけました。同じことがフッターにも当てはまると思いますが、テストしていません。
ヘッダーの詳細はこちら:
セクションヘッダーがUITableViewプレーンスタイルで行うように、UICollectionViewで補足ビューをフロートさせる方法
実装はかなり重いですが、ほとんどの状況でうまく機能するようです。
この質問についてすぐにこれ以上の動きがない場合は、重複として閉じて、上記の記事を指摘します.