*

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

関連記事

User Defined Runtime Attributeについての覚書

UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡

記事を読む

UICollectionViewのヘッダとフッタの設定

UICollectionViewで慣れないのがヘッダフッタで、毎度「どうやって設定するんだっけ…」と

記事を読む

Realmで==ができなかった

最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト

記事を読む

Bitbucketの画面の日本語化/コミット時に同時プッシュを行う

前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus

記事を読む

RealmのListとArrayの相互変換によるマップ

 Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが

記事を読む

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

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト)から横向き(ランドスケープ)

記事を読む

iOS7でのPopover内サイズの指定

UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ

記事を読む

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

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

記事を読む

Bitbucket課題の記法サンプル

Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に

記事を読む

UITableViewのヘッダに小文字を入れる

UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑