UITraitCollectionがunspecifiedになる

Objective-C
スポンサーリンク
スポンサーリンク

背景

開発中のiOSアプリケーションのマルチタスク対応を行った。

表示中の画面がiPadサイズか/iPhoneサイズかを判別するために
viewDidLoad内でUITraitCollectionを参照したが、
unspecifiedになってしまい、期待した値が取得できなかった。

horizontalSizeClass - UITraitCollection | Apple Developer Documentation

原因

UITraitCollectionはviewDidLoadではまだ値がセットされていない

解決策

viewWillAppearで呼ぶことにした。

UI系の操作はviewDidLoadでやっちゃダメだ、ってそういえば前も覚えた気がするのに。
すっかり忘れていたよ、このポンコツ頭めっ!
こうやってブログに残しておけば忘れない…はず…!

参照

view.traitCollection.horizontalSizeClass returning undefined (0) in viewDidLoad - Stack Overflow

コメント