无法使StackView在scrollview中正确调整

时间:2019-05-11 16:20:31

标签: swift autolayout scrollview uistackview

我将内容视图嵌入到滚动视图中。在此内容视图上,我有一个ImageView和一个带有几个标签的stackview。当行太长时,两个标签应环绕。当底线结束时,我希望它激活滚动视图。目前,我的约束条件设置如下:

Scrollview -> Parent view controller = 0,0,0,0
UIView -> Scrollview = 0,0,0,0
ImageView -> UIView = Top: 20, Bottom: 45, Leading/Trailing: 80
Stackview -> Imageview = Top: 45
Stackview -> UIView = Leading: 20, Bottom: 40, Trailing: 150

标签为默认标签,框架拥抱文本。 (我将发布图片。)

下面的图片仅显示了在标签上设置约束以强制自动换行的一种尝试-无效。

Constraints

这就是我要得到的:

notWordWrapping

在底行结束后,stackview应该向下生长并启用滚动。我需要能够滚动,但是我所看到的其他事情是它只会滚动以触摸最后一行并跳出视线。我一直无法弄清楚如何在行中添加足够的填充以阻止它执行此操作,但这是我认为的另一个问题。

我尝试在堆栈视图上设置宽度约束以强制标签换行。标签设置为0行,而换行符设置为自动换行。我也尝试过为标签设置一个较小的尾随约束以强制其包装,但这也不起作用。

这都是在Interface Builder中完成的,因此不需要代码。如果可以解决我的问题,我可以移至所有代码。请让我知道我还需要发布什么来帮助解决此问题。谢谢!

1 个答案:

答案 0 :(得分:0)

1-您需要ctrl从滚动视图的contentView拖动到vc的主外部视图,然后选择等宽

2-您需要为imageView设置高度限制

3-将stackview的分布设置为fill