いろいろ試行錯誤して見つけたやり方なので、なぜこれでできるのか理屈は今ひとつわかりません。より正しい方法をご存じの方がいらっしゃいましたら、コメント欄などで教えていただけると幸いです。
やりたいこと
下の図のような構成の画面で黄緑色の UILabel が storyboard で Lines を 0 に指定して高さが可変になっています。黄緑色の UILabel に表示されている内容が少なく、画面に納まっているときは、縦スクロールはしません。(もちろん横スクロールもしません)

下の図のように黄緑色の UILabel の内容が増えて、画面に納まらなくなると、縦スクロールするようにします。


画面の構成は次のようになっています。
ラベルや画像、ボタンには適当に制約(Top Space、Bottom Space、Leading Space、Trailing Spaceなど)を設定しておいてください。ソースコード上では、UIScrollView に対して何も設定していません。

ポイント
縦スクロールを実現するためのポイントは、以下の2つになります。
1.一番上の水色のラベルに左端からの距離と右端からの距離の制約(Leading Space と Trailing Space)、それに加えて、中央に表示する制約(Align Center X)をつけること。

2.一番下にあるオブジェクト(この場合は UIButton)に Bottom Space の制約をつけること。

ちなみに、水色のラベルの中央表示の制約(Align Center X)を外すと、Lines を 0 に設定してあっても黄緑色のラベルが横に広がってしまい、横スクロールしてしまいます。
ですから、中央表示の制約をつけることのできるオブジェクトが一番上にない場合は、ちょっと気持ちが悪いですが、何も表示しない透明なラベルをダミーとして置くことになります。
使用環境
Xcode 6.1.1
iOS 8.1
Swift