見出し画像

UICollectionViewで途中でsizeを.zeroにするとその後のレイアウトが崩れる

 掲題の通りなんですが少しハマったので書き残しておきます。

このようなViewControllerを作ってみると

画像2

こんな感じで正しく表示されます。そこで90, 91行目のコメントを外してビルドしてみると

画像2

出るはずの3つ目のセルが表示されませんでした。今回はindex = 1の時が空の時のハンドリングをサイズで対応してしまったがために謎の崩れ方をしてしまったのでですが、正しい対応方法としてはnumberOfItemsInSectionでindex = 1の時は0を返すべきでした。

まとめ

普通にレイアウトが崩れたのですぐに気付けたんですが、対応方法をさっと思いついて良かったです。

この記事が気に入ったらサポートをしてみませんか?