UIScrollView忽略约束

时间:2016-04-15 18:12:02

标签: ios xcode uiscrollview constraints

所以,我有一个带有图像,两个标签和另一个图像的视图控制器。标签调整大小以适合我为他们设置的文本 - 我试图保持每个项目与其上方和下方的空间相同。除了我的上一张图片,一切正常。

最后一张图片具有Aspect Fit模式,因为我希望它缩小以适应它所在的任何屏幕(我觉得这部分效果很好)。当前约束为前导,尾随和垂直标签的约束为8;对于底部约束,大于或等于20到底部边距(基于我在教程中看到的内容。)

问题是,当我运行模拟器时,我的最终图像比其他所有图像低,而不是直接在标签下方。图像后面还有一大块空间,直到屏幕底部。鉴于它被设置为低于标签8,为什么会发生这种情况?

simulator scrolled slightly below label

simulator scrolled even lower to image

1 个答案:

答案 0 :(得分:0)

尝试从superview给出约束而不是从margin。每当你从保证金给出约束时,就用superview改变它。第二件事试图设置底部等于20不大于或等于。 (根据你的约束假设)

你的约束应该如下(我的建议):

scrollview - 前导,尾随,顶部,底部

Containerview - 容器中的前导,尾随,顶部,底部,固定高度,水平中心

标签&图像:前导,尾随,顶部和固定 - 高度(如果你想要图像中的可变尺寸高度,那么不要给出高度,但给出底部的超视图,大于等于或仅相等)

希望这会有所帮助:)