[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アプリ作成 作業記録

コメント