8

UIView 内にログイン コントロールが含まれている、ログイン画面を備えた iPad アプリがあります。

iPad が縦向きの場合、Login UIView はアプリの下部と中央付近、キーボードが配置される場所のほぼ真上にあり、会社のロゴは上部中央の UIImageView にあります。私は AutoLayout 制約を使用して、会社のロゴを上と右に引き寄せ、Login UIView を下と右に引き寄せます。

ここに画像の説明を入力
(出典: chattypics.com )

これを横向きに回転すると、効果は次のようになります。

ここに画像の説明を入力
(出典: chattypics.com )

こんな感じにしたい

ここに画像の説明を入力
(出典: chattypics.com )

したがって、2 つの要素を並べて配置し、Login UIView をさらに右側に配置したいと考えています。縦向きモードのときの UIView の右側の間隔は横向きモードよりも大きく、下からの距離は横向きモードよりも短くなっています。代わりに「コンテナの中央」でこれを処理できますが、ランドスケープ モードでも機能しません。

この投稿で詳しく説明した手法を使用して、ランドスケープ モードのときに物事を「並べて」表示しましたが、「ビュー」内のレイアウトも回転時に異なるようにしたいので、ここでは十分ではないと思います。 .

これをプログラムで実行する方法を考えることはできますが、これがそれほどユニークな必要性であるとは想像できません。IBで制約だけを使用してこれを実行する方法はありますか? 「これは、IBの制約が設計されたものです」という方法で、おそらく優先順位を扱っていますか? それとも、コードでこれをやってのける必要がありますか?

4

2 に答える 2

0

要素を再配置する代わりに、要素を個別に回転させるだけでよいようです。それらをコンテナ ビューに設定し、コンテナ ビューをビュー コントローラ ビューの中央に配置します。次に、2 つのビュー間の距離を設定し、自動回転を設定します。

于 2013-10-14T16:21:17.430 に答える