これはおそらくのバグでUICollectionView
あり、Appleのバグ報告Webサイトが壊れなくなったらすぐに報告します。しかし、誰かがそれを回避する運があった場合に備えて、私はこれをそこに置くと思いました。
をUICollectionView
使用していくつかのセルを表示していUICollectionViewFlowLayout
ます。プロトコルを使用しUICollectionViewDelegateFlowLayout
て各セルのitemSizeを指定していますが、レイアウトのsectionInset
プロパティを使用してセクションの挿入図を設定しています。
コレクションビューのセクションインセットをアニメーション化する必要があります。これを行うには、新しいUICollectionViewFlowLayout
インスタンスを作成し、そのsectionInsetプロパティを設定し-setCollectionViewLayout:animated:
て、collectionViewを呼び出します。
問題は次のとおりです。コレクションビューのセクションにさまざまなサイズのアイテムがある場合、そのセクションは新しいに更新されませんsectionInset
。レイアウトのitemSizeプロパティを使用する場合、またはUICollectionViewDelegateFlowLayout
メソッドから静的サイズを返す場合、セクションは正しくアニメーション化されます。更新されないのは、セクションにさまざまな高さのアイテムが含まれている場合のみです。
明らかにバグのようですが、私はまだ何か間違ったことをしている可能性があります。UICollectionView
本当に柔軟性があり、ドキュメントはそれほど素晴らしいものではないので、私が見逃しているものがあるかもしれません。
他の誰かがこの問題を見ましたか?それを乗り越える運はありますか?
アップデート
この問題が発生する状況は、上記で述べたものよりも具体的であることがわかりました。問題のあるセクションのアイテムは、垂直スクロールコレクションビューの行ごとに1つのアイテムのみを確保するのに十分な幅である必要があります。このような状況で、セクション内のアイテムの幅または高さが均一でない場合、セクションのsectionInsetは適切に更新されません。