UICollectionViewが画面回転した時にレイアウトが崩れた時の対応
公開日:
:
最終更新日:2014/02/24
Tips iPad, UICollectionView, UICollectionViewCell, 回転
UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関しての記事。
ある程度サイズが決まっているならサイズに合わせたプロトタイプを作ればいいし、必要であればUIScrollViewを使えばサイズの動的変更は必要ないといえばないので、いささか行儀が悪い話ではあるかもしれないが、UICollectionViewCellのサイズを動的に変えて対応したい需要(中身のコンテンツの量が不定で、かつスクロールなしで表示したい場合など)はないではない。
しかしその場合に画面を回転させると、動的に変えたサイズがどうやらセルのプロトタイプの初期値に戻るように縮小されてしまう。
調べたところ、回転時にcollectionViewの空更新で対応するとよいとのことで、以下のようなコードが紹介されていた。
組み込んだところ、確かに回転してもCollectionViewのセルのサイズが変更されなくなった。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
[self.collectionView performBatchUpdates:nil completion:nil];
}
参照サイト:
stackoverflow
http://stackoverflow.com/questions/13556554/change-uicollectionviewcell-size-on-different-device-orientations
関連記事
-
-
CALayerの管理
CALayerはNSKeyValueCodingを実装している(Core Animation Ext
-
-
UISplitViewControllerの仕切り線の色を設定
UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ
-
-
StoryboardからPopoverを作っても位置合わせコードは必要
これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
viewDidLoadとviewDidLayoutSubviewsのタイミング
真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view
-
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
-
-
iPad用storyboard⇔iPhone用Storyboardへの変換
iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは
-
-
Xcode10からのimage literal / color literalの指定方法
アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット
-
-
WSCoachMarksViewをSwiftで使う場合の手順
Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含
- PREV
- iOS7でのPopover内サイズの指定
- NEXT
- iOS7でカメラ撮影時のステータスバーを消す
