我在UIView中有一个UIScrollView,在滚动视图里面有另一个UIView(容器视图)。在自适应布局之前,我固定滚动视图以适应外部视图并设置容器视图的宽度和高度(也固定在滚动视图上)。通过这种方式,我可以垂直滚动视图。
现在,通过自适应布局,由于屏幕尺寸不同,我无法设置宽度...我必须设置哪种约束?我能想到的唯一解决方案是以编程方式将宽度设置为屏幕尺寸......
答案 0 :(得分:2)
来自UIScrollView and Autolayout:
UIScrollView类通过更改其边界的原点来滚动其内容。要使其与“自动布局”一起使用,滚动视图中的顶部,左侧,底部和右侧边缘现在表示其内容视图的边缘。
滚动视图子视图的约束必须导致填充大小,然后将其解释为滚动视图的内容大小。(这不应与{{ 1}}用于自动布局的方法。)要使用自动布局调整滚动视图的框架大小,约束必须明确关于滚动视图的宽度和高度,或者滚动视图的边缘必须绑定到其外部的视图子树。
在您的情况下,“容器视图”必须具有非模糊的大小,与滚动视图的大小无关。最简单的方法是添加高度和宽度约束,并将constant
属性设置为您想要的值。
因此,如果您希望“容器视图”为屏幕宽度,请添加宽度约束并在运行时将其常量设置为当前屏幕宽度。
答案 1 :(得分:0)
将容器视图的宽度限制为等于根级视图的宽度。删除容器视图的硬编码宽度约束。