UIScrollView ContentView动态高度约束

Sab*_*ana 7 uiscrollview autolayout

我面临着contentView高度限制的问题.所有标签都有动态高度,即没有固定高度.我已经读过某处设置高度等于scrollview高度.

ViewController的高度目前为870px,scrollview高度为757px.我不知道如何在AutoLayout中设置高度,因为我无法在某个点之后滚动.

出现在模拟中 main.Storyboard中的ViewController

我首先设置了UIScrollView,然后我添加了UIView作为UIScrollView的子项,然后我添加了2个UIImageView和几个UILabel,UILabel的大小取决于内容和内容不固定.由于UIView的高度是静态的,当UILabel的内容很大时,我无法在某个点之后滚动.

根据@Wonder Dog的回答,我做了一些改动,现在我得到了Scroll View模糊的高度问题 在此输入图像描述

Dog*_*Dog 5

这样做:

  1. 将滚动视图添加到您的视图控制器,不要对其设置任何约束。
  2. 开始在滚动视图中添加子视图(图像、标签等)并设置所需的约束。对于标签,您不需要设置高度,因为它们会根据内容自动调整高度。对于其他子视图,还要设置高度或其他约束,这些约束稍后将确定高度(即纵横比)。如果您的滚动视图对于您要添加的所有子视图来说太小,请从其底部拖动以增加其高度。将所有子视图保留在滚动视图中并将它们链接到另一个非常重要。
  3. 对于滚动视图中的最后一个标签,向滚动视图添加底部约束。
  4. 将滚动视图中的边距约束添加到主视图(顶部、前导、底部和尾随)。

由于所有子视图都链接并固定到滚动视图内的顶部和底部,并且滚动视图固定到故事板的视图,因此这将起作用。

不要设置滚动视图的高度。将其设置为 757 像素是错误的,因为它会在高度低于 757 像素的设备上呈现屏幕下方的滚动视图。

  • 感谢26岁的自己在28岁的时候写下这个答案。 (2认同)