AutoLayoutとかそれにまつわるライフサイクルでの気づき
【AutoLayout】
- 自分の端末のサイズを手っ取り早く確認したかったらViewControllerの右から3番目のタブからSimulated Metricsを選択して、自分の端末のサイズを選択
- SubViewをViewに合わせて調整したいとき:
- SubViewを選択し、Controlを押しながらViewへドラッグ
- 例えば中央揃えならCenter Holizontally In Containerを選ぶ
- 上下左右のConstraintを設定するにはPinから
- Leading Space = 左
- Trailling Space = 右
- Bottom Space = 下
- Top Space = 上
- 画面サイズによらない幅や高さもPinからWidth, Heightを選択して固定できる
【ViewControllerのライフサイクル】
- ViewWillAppear → ViewWillLayoutSubViews → ViewDidLayoutSubViews → ViewDidAppear
- レイアウト絡みがLayoutSubViews
- ConstraintはupdateConstraintsが呼ばれたタイミングで更新される
- つまり、updateConstraints→layoutSubviews
- よって、viewのframeなどをつかった処理を加えたいときはviewDidLayoutSubviewsで行うのが確実かもしれない