IOS 6 iPad アプリには、複数のコンテナー ビューを持つコンテナー ビュー コントローラーがあります。現在、アプリを横向きにロックしていて正常に動作しますが、縦向きもサポートしたいと思います。Interface builderを介して自動レイアウトと制約を使用してすべてが設定されます。可能であれば、一貫性、保守性などのために 1 つのストーリーボードを保持したいと思います。
レイアウトは次のとおりです。ヘッダー、左側のメニュー、2 つのコンテンツ ペイン (横に並べて表示)、およびフット ペイン。コンテンツを除くすべてのペインのサイズを変更します。横向きから縦向きに回転するとき、一方のコンテンツ ペインをもう一方の下にスライドさせ(現在は画面から吹き飛ばします)、両方ともコンテナ ビューの端に固定するようにします。
HTML5/CSS3 でこれを行うのは簡単ですが、私は IB で立ち往生しています。ヘルプ/アイデアは素晴らしいでしょう!
ありがとう!
編集:
解決 -
@Charles A. の提案に従って、NSLayoutConstraints を IBOutlets にリンクし、コードで間隔/優先度を操作しました。私が本当に苦労したのは、高さと幅の制約を使用することでした。何かを移動すると、Interface Builder はこれらを削除するか、先頭/末尾および上/下の制約で上書きします。私はついに屈服し、すべての高さと幅の制約を取り除き、先頭/末尾/上/下のみを使用しました。
私が理解した2つのこと:制約にはマイルストーン(たとえば優先度750の1つ)があるため、実際に優先度を749から750に変更すると、次のようになります。
Mutating a priority from required to not on an installed constraint (or vice-versa) is not supported.
しかし、750 から 800 に変更した場合は問題ありません。
また、制約を操作した後、次を呼び出す必要がありました。
[self updateViewConstraints]
[parent updateViewConstraints] を提案する投稿を見つけましたが、うまくいきませんでした。
とにかく、あまり出回っていないので、これがこの場所の他の人に役立つことを願っています.