UICollectionViewを使った実装でIn-call Status Bar時、Cellのサイズと座標がおかしくなった時の処置
Simulatorで確認できるIn-call Status Bar時のレイアウト
Simulatorで⌘ + Y
を押すことで、In-call Status Barの状態にできる
この時、Status Barの高さが増すため、考慮していないレイアウトの時に崩れて表示される。
UICollectionViewのcellが崩れた時の処置
UICollectionViewを使った実装を行なっており、In-call Status Barの時に表示されているUICollectionViewは正常に伸び縮みして問題なかったが、UICollectionViewCellは、UICollectionViewにめり込んだりマージンが増えたり意図しない挙動になった。
UIApplicationWillChangeStatusBarFrame
でNotificationを受けて座標やサイズを修正しようとしたが上手くいかず。
最終的に、UICollectionViewの初期化時に渡すUICollectionViewFlowLayoutでlayout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize
を設定してやることで、In-call Status Barに追従した動きになった。
参照した記事 qiita.com