サブビューを UIScrollView に追加するたびに、4 つではなく 6 つの制約を追加する必要があります。
問題を再現する方法:
- 新しいシングル ビュー アプリケーションを作成します。
- ストーリーボードで、画面全体を埋める UIScrollView を追加します。
- 不足している制約を追加します (これにより、"Top Space to: Superview" などの 4 つの制約がスーパービューに追加されます)。
- UIScrollView のサブビューとして新しい UIView を追加します。小さな長方形になるようにサイズを調整します。
- このボックスに不足している制約を追加することを選択します。
6 つの制約が追加されていることがわかります。
- スーパービューへのトレーリング/リーディング/トップ/ボトムの場合は 4
- 幅は 1
- 高さの場合は 1
幅または高さの制約を削除しようとすると、すべての制約がオレンジ色になります。ビューは、後続および先行の制約によって幅を決定できる必要があります。同様に、ビューは上部と下部の制約によって高さを決定できる必要があります。
では、なぜこれらの 6 つすべてが必要なのですか?
注: UIScrollView の代わりに UIView でこれと同じことを試すと、すべてが期待どおりに機能します。