2016-09-27 8 views
4

異なる画面間で一貫したビューを実現したい。私のレイアウトの制約は、小さな画面では完全に機能しますが、大きな画面ではスクランブルします。AutoLayout:ビューの相対スケーリング

私はビュー(そのビューを示す赤い枠線)を作成し、それをメインのスーパービューに固定しました。それから私はサブビューを作成し、それをそのビューの中に入れました。私は親ビューのボタン(赤い枠でそのビューを示す)を含むレイアウトの最上部の下端と最先端を固定しています。それは、この(上記のiPhone 6と)のような大きな画面で見ている間、ボタンを含むビューは

enter image description here

小さな画面では以下のように(iPhone 5)

enter image description here

を探している私はこれをしたいですレイアウトは、他のビューと同様にすべての画面で同じ相対的な高さを持つようにします。どうすればこれを達成できますか?

+0

これらのビューはtableview/collectionviewの一部ですか、または同じサイズのビューが4つ隣にありますか? –

+0

それらはすべて互いに垂直に配置された別々のビューです –

+0

UIStackViewsを試しましたか? –

答えて

1

を解決されます表示するには、そのボタンのように一定の高さを保って.IFレイアウトは、あなたが最初の画像で述べたもののようになります表示するには、そのボタンを除き、サブビューのための一定の場合ボタンを含むUIViewを使用し、UIViewの下部、先頭、末尾、上の制約を設定します。次に、そのUIViewの高さの制約を設定し、乗数の値をスーパービュー(=赤いボックス)に対する相対的な高さに設定できます。最後に、UIView内のボタンの制約を任意に設定できます。 StackViewの使い方を知っていれば、簡単で簡単な方法で使用することをお勧めします。ここではStackViewについて非常に良いtutorialです。

+0

スタックビューは私のためにトリックをしてくれました。D:このチュートリアルも非常に役に立ちます.D –

+0

:) – woogii

0

高さは、あなたが私はあなたができると思う問題は

+0

サンプルコードも提供できますか?これはより良い理解に役立ちます。 – Ankit

+0

線形レイアウトの場合、つまり、ビューが縦に並べられている場合、すべてのビューについて、高さを固定するには、メインビューの下にあるすべてのサブビューの高さを定数として設定する必要があります。イメージを見ると、ボタンのサブビューの高さ – Vignaya

関連する問題