質問: 画面上部がスクロールビュー、画面下部がView(メニュー群)になっている画面についての、AutoLayoutの設定についての質問です。 開発環境:Xcode7.1.1、swift2.1 ![![画面イメージ](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f0970df20114144a63b58455258d8f12.png) 上記のようなレイアウトを実現しようとしています。 ・メニューは上揃えで、Superviewとの余白は固定値 ・一番高さのあるメニューとSuperviewとの余白は固定値 ・各メニューは固定サイズの画像、行数未設定UILabelを含むViewで構成され、UILabelの行数は未設定(可変) (画像は簡略化のためUILabelのみで記載) メニューに表示する文字をローカライズする都合でUILabelの高さを指定していません。 Storyboard上ではメニューが最大高を取るか分からないため、基準となるメニューを決めることができません。 表示時に最大高となるメニューに合わせて余白を設定したいのですが、適切な設定方法が思い浮かびません。 可変高となるViewに対するAutoLayoutの設定ポイントをご教授頂ければと思います。
回答: こんな感じですかね。 !AutoLayout LabelとLabelContainerのTopの距離が固定(0px)で ・ Bottomの距離は0以上 ・ Bottomの距離は0 (ただし、Labelの高さがIntrinsic Sizeになるほうが優先したいので Content Hugging Priorityより小さく) ・ 各LabelContainerの高さは同じ を満たすようにすることでLabelContainerの中でLabelは上寄せになり、全てのLabelContainerの高さは同じなので適当なやつと親のビューのTop & Bottomの距離を設定すればいいです。 (Containerはいらないかも、、、)