我想要一个视图,其大小(在本例中为高度)取决于屏幕大小,以用一个 xib 覆盖 iPhone4/iPhone6 的屏幕。所以可以说我拿了一个 ListView 并且我不想让它全屏显示,但我在上面和下面有固定的空间。那么它的高度应该是:
screen_height - (space_above + space_below)
在 Interface Builder 中,我可以设置两个垂直空间约束,然后甚至删除 ListView 的高度约束,因此它的高度由父视图和这两个空间约束确定。
在模拟指标中设置 Freeform 后,我可以拖动以更改根视图的大小并查看约束是否正常工作(ListView 正确调整大小)。
问题:
但是,如果我在模拟器中运行该应用程序,那么一切都将固定在 Interface Builder 中的最后一个位置。我错过了什么阻止布局根据其约束工作?
如果我将模拟指标更改为 Retina 3.5 或 4,Xcode 会删除我的约束并返回到固定大小的约束。