无法在滚动视图中正确调整堆栈视图
Posted
技术标签:
【中文标题】无法在滚动视图中正确调整堆栈视图【英文标题】:Cannot get stackview to adjust correctly in scrollview 【发布时间】:2019-05-11 16:20:31 【问题描述】:我有一个嵌入到滚动视图中的内容视图。在这个内容视图上,我有一个 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
标签是默认的,框架包含文本。 (我会发布一张图片。)
下图仅显示了在标签上设置约束以尝试强制自动换行的尝试之一——它没有奏效。
这是我得到的:
在底线换行后,stackview 应该向下增长并启用滚动。我需要能够滚动,但我看到的其他事情是它只会滚动到最后一行并弹回视野之外。我一直无法弄清楚如何向该行添加足够的填充以防止它这样做,但我相信这是另一个问题。
我尝试在堆栈视图上设置宽度约束以强制标签换行。标签设置为0行,换行设置为自动换行。我还尝试为标签设置一个较小的尾随约束以强制它换行,但这也不起作用。
这一切都是在 Interface Builder 中完成的,所以没有代码。如果它可以解决我的问题,我可以转到所有代码。让我知道我还需要发布什么来帮助解决这个问题。谢谢!
【问题讨论】:
【参考方案1】:1-你需要从scrollview的contentView拖拽到vc的主外视图并选择Equal-widths
2- 你需要为 imageView 设置一个高度限制
3- 设置stackview的分布为fill
【讨论】:
看来更改填充更正了这个问题。谢谢!现在滚动视图似乎没有工作......以上是关于无法在滚动视图中正确调整堆栈视图的主要内容,如果未能解决你的问题,请参考以下文章