*

UICollectionViewが画面回転した時にレイアウトが崩れた時の対応

公開日: : 最終更新日:2014/02/24 Tips , , ,

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

関連記事

”No Scheme”になってしまった場合の対応

知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない

記事を読む

NSAttributedStringをローカライズする方法

NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手

記事を読む

UIActionSheetが消えるときにキーボード表示/非表示通知が来る

 UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート

記事を読む

iOS7でカメラ撮影時のステータスバーを消す

UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番

記事を読む

StoryboardからPopoverを作っても位置合わせコードは必要

これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese

記事を読む

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

Xcode5.1のInterfaceBuilderにおける地味な変更点

iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N

記事を読む

iOS9でのNSFetchedResultsContollerDelegateの挙動

ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD

記事を読む

UIAlertControllerの取り扱い

旧聞ですが日本語版のStackOverflowが始動したようですね。 個人的な印象は「フィルタされ

記事を読む

UITableViewのセクションヘッダをStoryboardで作る時の参考

UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑