UIView 内にログイン コントロールが含まれている、ログイン画面を備えた iPad アプリがあります。
iPad が縦向きの場合、Login UIView はアプリの下部と中央付近、キーボードが配置される場所のほぼ真上にあり、会社のロゴは上部中央の UIImageView にあります。私は AutoLayout 制約を使用して、会社のロゴを上と右に引き寄せ、Login UIView を下と右に引き寄せます。
(出典: chattypics.com )
これを横向きに回転すると、効果は次のようになります。
(出典: chattypics.com )
こんな感じにしたい
(出典: chattypics.com )
したがって、2 つの要素を並べて配置し、Login UIView をさらに右側に配置したいと考えています。縦向きモードのときの UIView の右側の間隔は横向きモードよりも大きく、下からの距離は横向きモードよりも短くなっています。代わりに「コンテナの中央」でこれを処理できますが、ランドスケープ モードでも機能しません。
この投稿で詳しく説明した手法を使用して、ランドスケープ モードのときに物事を「並べて」表示しましたが、「ビュー」内のレイアウトも回転時に異なるようにしたいので、ここでは十分ではないと思います。 .
これをプログラムで実行する方法を考えることはできますが、これがそれほどユニークな必要性であるとは想像できません。IBで制約だけを使用してこれを実行する方法はありますか? 「これは、IBの制約が設計されたものです」という方法で、おそらく優先順位を扱っていますか? それとも、コードでこれをやってのける必要がありますか?