19

スクリーンショットに示されている例に似たカスタム ビューを準備しています。実行時にすべてのユーザー インターフェイス コンポーネント (ラベル、テキスト フィールド、ラジオ ボタンなど) を追加します。要素を配置するには、Autolayout制約を使用します。この部分は今のところ問題なく動作しています。

カスタム ビュー

要素の数は、コンテキストによって異なります。Autolayout 制約を使用して親ビューのサイズを動的に変更するにはどうすればよいでしょうか(ほとんどの場合、ビューの高さ)。したがって、ビューの制約では、現在アタッチされているサブビューに対して定義されている高さとマージンを考慮する必要があります。

4

2 に答える 2

27

私は次の設定でこれを行いました:

  • コンテナビューには高さの制約はありません
  • 上部のサブビューには、コンテナビューの上部からの間隔の制約があります
  • 含まれているビューはすべて、それらの間に間隔の制約があります
  • 底面ビューには、コンテナビューの下部に間隔の制約があります

自動レイアウトシステムは、コンテナのサイズをその内容に合わせて変更することにより、これらの制約を満たします。

もちろん、内容を変更するときに制約を動的に設定する必要があります。

于 2012-11-13T18:49:42.913 に答える
2

NSStackView を使用している場合は、高さと幅に制約を設定せず、すべての側面が固定されていることを確認してください。

ここに画像の説明を入力

また、コンテンツの Hugging プロパティを 1000 に設定していることを確認してください。

ここに画像の説明を入力

于 2016-04-24T06:41:07.663 に答える