2017-05-30 7 views
1

私は、制約を使用して2つの他のオブジェクトの間でオブジェクトを垂直に配置する方法を疑問に思っていました。私はストーリーボードを使用しています。ラベルとボタンには、オートレイアウト(ラベル:先頭、先頭、末尾、高さ、ボタン:ボトム、先頭、末尾、縦横比)を使用するという制約があります。ここで他の2つの間の垂直中心ビュー

はどのように見えるものすべて:

Here is a schematic of my UI.

は私が「ビューは、」垂直」の間の中心となるように制約1および2(画像を見てみましょう)が同じ長さになりたいです「ラベル」と「ボタン」。その間に同じ高さの隠れたビューを配置しても、画面サイズが小さくてもうまくいきませんでした。 ありがとうございました!


PS:一つ重要なことがある:私はビューを中心にしたいとないすべての要素が等間隔!

+0

Nishantの答えは、可変ラベルとボタンサイズでもうまくいきます。しかし、あなたのケースでは、ラベルとボタンの高さは一定です。垂直中心の拘束を追加し、中心に一致するように調整することはそのトリックを行います。この場合、定数値=(ラベルの上部スペース+高さ) - (ボタンの下部スペース+高さ)/ 2です。このようにして、1つの余分なビューを避けることができます。 –

答えて

3

上部の制約0をtopView(lable)に、下部の制約0を底面のビュー(ボタン)に透過的に表示します。次に、そのビューにビューを追加します。このビューは、両方のビューを垂直に中央に配置します。親ビューに水平と垂直の中心として制約を追加します。

+0

それが受け入れられるときにあなたの目的に合った答えを受け入れます。ありがとう –

2

ここでstackviewを試すことができます。スタックビューにすべてのアイテムを配置し、等間隔を指定する

関連する問題