StoryboardでUIScrollViewを設定しようとすると、なかなか厄介だ。
うまくできないと

Missing Constraints
Scroll View
Need constraints for: x position or width

のような警告が出る。
しかし、やり方を知ってしまえばとても簡単だ。

今回は縦にスクロールするScrollViewの設定を行ってみる。

まず、StoryboardでこのようにScrollViewを配置する。
scrollview01
次に、スクロール表示させるViewを配置する。
scrollview02
さて、このViewにどのようなConstraintを設定すれば良いか。
結論から言うと、上下左右のスペースと幅と高さだ。
上下左右のスペースを設定するのに、幅と高さを設定するというのはAutoLayout的にはいささかおかしな感じだが、幅と高さがないとScrollViewがスクロールするかどうかの判断が出来ないということなのだろう。

まず上下左右のスペースを設定しよう。
scrollview03
この段階で、Missing Constraintsの警告が二つ出ているはずだ。
scrollview04
次は横幅を決定しよう。
今回はScrollViewの横いっぱいに伸ばすものとする。
追加したViewとScrollViewを選択しよう。
scrollview05
それからEqual WidthのConstraintを追加する。
scrollview06
これで、警告が一つ消えたはずだ。
次は高さを設定しよう。
これはシンプルな作業で、先ほどのViewに高さを与えるだけで良い。
ここでは300としておこう。
scrollview07
これで警告は全て消えたはずだ。
Update Framesしてみよう。
このようになったはずだ。
scrollview08
次はスクロールがわかるように先ほどのViewの上下にラベルを追加する。
Constraintの設定はここでは省略する。
scrollview09
さて、ここで一度実行してみよう。
もちろん、スクロールは出来ない。
なぜなら、高さがScrollViewよりも小さいからだ。

Viewの高さを800に変えてみよう。
scrollview10
これでもう一度実行だ。
scrollview11
期待通りの結果を得ることが出来た!