web-dev-qa-db-ja.com

UIStackViewでサブビューの複数の幅と高さを設定する方法はありますか

たとえば、スタックビューに3つのボタンを追加するとします。

Button1は200 * 200(1)

Button2は150 * 150(0.75)

Button3は100 * 100(0.5)

インターフェイスビルダーでこれを行うにはどうすればよいですか?

24
dubbeat

あなたはstackviewを使用してストーリーボードでそれを行うことができます

  1. Alignment CenterおよびDistribution Fillを使用してスタックビューを追加します。
  2. Stackviewの制約は、水平方向の中央と垂直方向の中央です。
  3. 次に、3つのボタンを追加します。
  4. Button1の制約は高さと幅= 200です。
  5. Button2の制約は高さと幅= 150です。
  6. Button3の制約は高さと幅= 100です。

セットアップを図に示します。

enter image description here

あなたの場合はそれが満たされるAlignmentプロパティのために競合が発生しています。 makeが中心で、それが行われます。

また、ボタン間にスペースを追加することもできます。 Distribution Equal Spacingを設定し、ボタンの高さよりも高い高さの高さ制約をスタックビューに追加すると、.

これは縦型スタックビューです。水平スタックビューでも同じようにテストできます。

それがあなたのために働くことを願っています。

45
Irfan

UIViewの解決策を探している人のために ここにあります

UIStackViewは、その配置されたサブビューが互いにと同じ比率を維持することを保証します。あなたのレイアウトは大きくなったり小さくなったりします。ただし、他の配信オプションとは異なり、比例するビューには固有のコンテンツサイズ が必要です。

0
Yash Bedi