サブビューの位置とサイズを調整するために IB 経由で Autolayout を使用している UIViewController があります。
何らかの理由で、正しい UIView レイアウトを取得できなかったため、すべてのサブビュー サイズを VC に記録することにしました。
サブビューのサイズを記録しました:
viewDidLoad{
self.view.layoutIfNeeded()
print(uiview.size)
}
viewDidLayoutSubviews{
print(uiview.size)
}
viewWillAppear{
print(uiview.size)
}
viewDidAppear{
print(uiview.size)
}
サブビューのサイズは正しいです:
- viewDidLoad
- viewDidLayoutSubviews
- viewWillAppear
- viewDidLayoutSubviews
しかし、次の場合は不正確になります:
- viewDidLayoutSubviews
- viewDidAppear
ViewWillAppear から正しいサブビュー サイズを使用するにはどうすればよいですか? そして、最終的なviewDidLayoutSubviews呼び出しとviewDidAppearでサイズが正しくないのはなぜですか?