UIScrollView ContentView动态高度约束
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIScrollView ContentView动态高度约束相关的知识,希望对你有一定的参考价值。
我面临着contentView高度限制的问题。所有标签都有动态高度,即没有固定高度。我已经读过某处设置高度等于scrollview高度。
ViewController的高度目前为870px,scrollview高度为757px。我不知道如何在AutoLayout中设置高度,因为我无法在某个点之后滚动。
我首先设置了UIScrollView,然后我添加了UIView作为UIScrollView的子项,然后我添加了2个UIImageView和几个UILabel,UILabel的大小取决于内容和内容不固定。由于UIView的高度是静态的,当UILabel的内容很大时,我无法在某个点之后滚动。
这样做:
- 将滚动视图添加到视图控制器,不要为其设置任何约束。
- 开始在滚动视图中添加子视图(图像,标签等)并设置所需的约束。对于标签,您无需设置高度,因为它们会根据内容自动调整高度。对于其他子视图,还设置稍后将确定高度(即宽高比)的高度或其他约束。如果滚动视图对于要添加的所有子视图都太小,请从其底部拖动以增加其高度。将所有子视图保留在滚动视图中并将它们链接到另一个是很重要的。
- 对于滚动视图中的最后一个标签,向滚动视图添加底部约束。
- 从滚动视图添加边距约束到主视图(顶部,前导,底部和尾部)。
由于所有子视图都链接并固定在滚动视图内的顶部和底部,并且滚动视图固定到故事板的视图,这将起作用。
不要设置滚动视图的高度。将其设置为757像素是错误的,因为它会在高度低于757像素的设备上呈现屏幕下方的滚动视图。
如果你的意思是你希望滚动视图与容器视图的高度/宽度相同:
- 转到故事板并找到视图
- 按“ctrl”并从滚动视图拖动到父容器的一个边缘
- 对所有4条边(滚动视图的上边,左边,下边和右边)执行相同的步骤
- 您可能需要将约束设置为“0”(父项的边距像素数)
尝试按照此图片(确保所有行都是粗体(打开)并将文本框中的值设置为“0”:
以上是关于UIScrollView ContentView动态高度约束的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 的 ContentView 中的 UIViewControllers?
让 2 个不同的 UIView 确定 UIScrollView 的 contentView 的高度
UIScrollView 和 Autolayout 防止 contentview 压缩