アプリがポートレート モードとランドスケープ モードの両方をサポートしていて、アプリをランドスケープで起動した場合、UIViewController のビュー フレーム サイズは、viewDidAppear のポートレートのサイズのままであることがわかります。(例: 748x1024 の代わりに 768x1024)
viewController を作成して表示すると、次の順序でイベントが発生します。
shouldAutorotateToInterfaceOrientation // viewcontroller hasn't received rotate event yet
viewWillLayoutSubviews
viewDidLoad
shouldAutorotateToInterfaceOrientation // viewController now asked to change orientation
viewDidAppear
viewWillLayoutSubviews
これらの一連のイベントを通じて、ビューのフレーム サイズは縦長のままです (境界は正しいですが)。
ビューのフレームが正しく設定されるのはいつですか?