滚动视图中的堆栈视图不滚动

问题描述

过去2天来,我一直很难解决这个问题。我要寻找的结构如下:

  1. 我想让滚动视图占据整个屏幕,以便垂直滚动。
  2. 我希望将图像视图添加到滚动视图的顶部,并将垂直堆栈视图添加到下方的视图。

关键是垂直堆栈视图的高度会根据内容动态增加。

首先,我只是尝试添加没有图像视图的堆栈视图,只是为了测试动态可滚动高度。遵循了here的答案:

  1. 添加了具有0、0、0、0约束的滚动视图。
  2. 将堆栈视图添加到滚动视图。将约束设置为Content Layout Guide,0、0、0、0约束。
  3. 将堆栈视图的宽度设置为与滚动视图相等。

enter image description here

这给了我一个约束错误,说我需要为滚动视图设置一个固定的高度。添加约束不会让我滚动。我尝试将堆栈视图直接固定到滚动视图,而不是固定到Content Layout Guide上,但是仍然不起作用。

我在滚动视图上遵循Apple的documentation,并在将堆栈视图固定到内容视图之前在滚动视图中添加了内容视图:

enter image description here

这也不滚动。

堆栈视图的分布设置为相等的间距或填充。

请帮助。

解决方法

This的答案确实对我有用。

添加scroll view并将四个边固定到safe area。确保约束值为0。

stackview内添加scrollview,并将四个边的约束值固定为scrollview

stack view's的宽度设置为等于scroll view's的宽度。

stackview内添加尽可能多的视图。

要测试滚动是否可行,请为stackview内的视图设置固定高度,以确保scrollview具有可滚动的高度。然后在选择stackview的情况下,用两根手指在viewcontroller内拖动。 stackview应该在scrollview内滚动。

这是设置约束的方式:

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...