私は iPad アプリに取り組んでおり、縦向きと横向きの両方をサポートしたいと考えています。
現在、向きを処理する方法は 3 つあります。
1) Apple は、2 つのビュー コントローラーを使用することを推奨しています ( http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html )
2) 私が持っている Beginning iPhone Dev book は、複数の UIView (1 つは縦向き、もう 1 つは横向き) を持つ単一の xib ファイルを使用し、willAnimateRotationToInterfaceOrientation() メソッドでビューを交換します。
3)他の人は、それを行う「適切な」方法は、layoutSubviewsと自動サイズ調整マスクを使用することだと言いました。
以前は、アプリを作成するときに、インターフェイスのセットアップやレイアウトを含め、アプリ全体を純粋にコードで記述していました。その結果、インターフェイス コードを微調整するのが非常に面倒な大規模なものになってしまいました。
純粋なコードで多くのアプリを作成した後、Interface Builder が存在する理由に感謝します。インターフェースの管理などを支援するために、View Controller は理想的には、データを管理してビューに送信するためだけのものであり、方法を管理するためのものではありません。ビューが見えるはずです。
Interface Builder を使用して、縦向きと横向きの 2 つの個別のカスタム UIView を持つことは理にかなっていますが、それ以外の場合は、layoutSubview の方が適切なオプションであると言われています。
しかし、layoutSubview を使用するとしたら、コードを使用してインターフェイスを記述および管理する作業に戻る必要があり、これは私には適切ではないように思えます。
layoutSubviews() を使用するのは本当に正しい方法ですか?
他の方法に勝る利点は本当にありません。layoutSubviews を使用すると、他の方向への遷移をアニメーション化できると言う人もいます。
私の 2 つのインターフェイスは、デバイスが回転したときの単純なサイズ変更ボタンやテキスト幅ではありません。横向きに回転するときに垂直に積み重ねる必要があるテキストフィールドの横に隣接するスライダーと、画面の反対側などに移動する必要がある他のスライダーがあります.
編集
次の質問が重複している可能性があります。
iPad/iPhone の複数の向きのベスト プラクティスは?
モデレーターは、必要に応じて閉じることができます。