私のアプリでは、小さなデバイス (iPhone のポートレートなど) と大きなデバイス (iPad のフルスクリーンなど) で使用する場合、ほとんどのビューの UI デザインに大きな違いがあります。基本的なアーキテクチャは同じままですが、各ビュー コントローラーは非常にUI 要素の異なるセット。
サイズ クラスに応じて要素と自動レイアウト制約をインストールおよびアンインストールすることで、Interface Builder でのサイズ変更に対応できますが、これは非常に扱いにくく壊れやすいものです。
昔(〜2014年)、Appleのアドバイスは次のとおりでした:
デバイスが縦向きか横向きかによって同じデータを異なる方法で表示したい場合、その方法は 2 つの別個のビュー コントローラーを使用することです。1 つのビュー コントローラーは、主な向き (通常は縦向き) でのデータの表示を管理し、もう 1 つのビュー コントローラーは、別の向きでのデータの表示を管理する必要があります。
サイズ クラスの出現にもかかわらず、これは私の特定の設計に対する最良の解決策であることに変わりはありません (サイズ クラスと分割ビュー、スライドインを考慮することを忘れないでください)。
質問 1: アプリのどの時点で特性の変更を検出する必要がありますか?
質問 2: (ストーリーボードから代替ビュー コントローラーを読み込んだと仮定して) 特性の変更に応じて、代替ビュー コントローラーをどのように移行/提示するのが最適ですか?
ここで尋ねたのと同じ質問をしています: Size Class Trait changes iOS 9 に応じた View Controller の適応スワッピング
元の質問に誰も答えなかったからです。