1 つの xib で iPhone4/iPhone6 の画面をカバーするために、画面サイズに依存するサイズ (この場合は高さ) を持つビューが必要です。だから私は ListView を取り、それを全画面表示にしたくないが、上下にスペースを固定しているとしましょう。その高さは次のようになります。
screen_height - (space_above + space_below)
Interface Builder では、2 つの垂直方向のスペース制約を設定し、ListView の高さの制約を削除して、親ビューとこの 2 つのスペース制約によって高さが決定されるようにすることもできます。
シミュレートされたメトリクスに Freeform を設定すると、ドラッグしてルート ビューのサイズを変更し、制約が機能していることを確認できます (ListView のサイズが適切に変更されます)。
問題:
ただし、シミュレーターでアプリケーションを実行すると、Interface Builder の最後の位置のようにすべてが固定されているように見えます。制約に従ってレイアウトが機能しない原因は何ですか?
シミュレートされたメトリックを Retina 3.5 または 4 に変更すると、Xcode は制約を削除し、固定サイズの制約に戻ります。