iOS自动布局灵活的边距

我试图创build一个布局,其中包含界面生成器中的静态高度的特定元素之间的灵活的垂直边距。 由于我不知道如何定义,我尝试使用灵活高度的“间隔”视图。 我在Interface Builder中创build的布局如下:

在IB中布局

蓝色矩形是静态高度, 高度不能改变 。 但是它们的边距和间距应该根据屏幕大小而改变。 红色矩形是间距视图,应该是清晰的颜色,但我留下了红色,仅用于testing目的。

首先,我使用弹簧和支柱创build了布局。 达到的效果几乎是正确的,垫片调整均匀,所以我很满意,即使红色的矩形稍微重叠的蓝色的,但是因为他们的目的只有间距,这不会是一个问题。 即使被删除,效果也是一样的。

弹簧和支柱

然后,我尝试使用自动布局创build布局,这是用于视图布局的最现代化的API。 我固定了所有的垂直间距和蓝色矩形的高度。 我还固定了垫片的高度,但将它们设置为小于或等于 。 这是故事板中的结果:

故事板中的Autolayout

自动布局是满意的,没有错误显示。 4英寸设备的布局工作正常,但是当在3.5英寸设备上运行时,结果如下:

iPhone 4上的Autolayout

所以,顶部和底部的红色间距显然是高度为0,但中间的两个间距保持不变。 红色矩形的所有高度限制的优先级是相同的(默认)。

根据外行的逻辑,不应该把所有的红色矩形调整为相同的乘数,因为它们的小于或等于优先级是相同的?

这里发生了什么,我做错了什么? 为什么我不能达到使用弹簧和支柱模型显然可以完成的类似效果?

感谢您的帮助!