UIScrollView和StackView不会滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIScrollView和StackView不会滚动相关的知识,希望对你有一定的参考价值。

我在一个空的ViewController中添加了一个UIScrollView,并为其添加了一个垂直的UIStackView。我将每个边的scrollview约束设置为0以填充屏幕。

我在UIStackView中添加了一堆按钮,但是当我运行代码时,我无法滚动滚动视图。它只是在尝试滚动时没有做任何事情。

这是故事板部分:

enter image description here

以下是它在模拟器中的样子:

enter image description here

我似乎无法弄明白。我假设我必须在不向UIStackView添加具体高度的情况下执行此操作,因为这会调整内容的大小...

我想要实现的就像android上的ScrollView。

答案

此滚动视图不会滚动,因为您没有为滚动视图添加足够的约束来计算内容视图大小。请尝试在按钮上添加autolayout。每一个。并正确固定滚动视图。必须要scollview能够正确计算内容大小才能正常工作。

https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithScrollViews.html

由于您是ios新手,我建议您查看tableview,看起来它更适合您的用例。

以上是关于UIScrollView和StackView不会滚动的主要内容,如果未能解决你的问题,请参考以下文章

在 StackView 内动态添加 ViewControllers - UIScrollView 内的 UIStackView

如何以编程方式将自定义 UIView 添加到 UIScrollView 之上的 Stackview?

让 UIView 填充 UIScrollview

UIStackView 在 UIScrollView 位置

使用 ScrollView 时出现 Autolayout 和 StackView 的问题

带有 UIScrollview 的 UIStackView 中的多行标签