[iOS] AutoLayout使用時の注意点

iOS
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

問題

AutoLayoutを指定した場合、frame/boundsが決定されるのは、viewWillAppearの後

起こる問題

  • StoryBoardでAutoLayoutを設定したViewのframeをViewDidLoadで取得しても、期待した値が取れない

対策

ViewWillLayoutSubViews以降で処理を行う

注意点

ViewWillLayoutSubViewsは至る所で呼ばれるため、
単にViewの初期化処理をしたい場合は、1度だけ呼ばれるように工夫する。

実装例

[Swift] viewDidLayoutSubviewsで初回だけ処理をしたい
問題AutoLayoutを使用した場合、Frameが決定されるのがviewWillAppear後のため、初期化処理をviewDidLayoutSubviewsに記載する必要がある。しかし、viewDidLayoutSubvie...

参考

AutoLayout使用時のviewのframe確定のタイミング | Xランカー
初めてのサイト構築~初めてのiOSアプリ作成 作業記録

コメント