UIScrollView 和 StackView 不会滚动
Posted
技术标签:
【中文标题】UIScrollView 和 StackView 不会滚动【英文标题】:UIScrollView and StackView wont scroll 【发布时间】:2018-03-05 02:19:39 【问题描述】:我向一个空的 ViewController 添加了一个 UIScrollView,并向它添加了一个垂直的 UIStackView。我将滚动视图的约束设置为 0 以填充屏幕。
我在 UIStackView 中添加了一堆按钮,但是当我运行代码时,我无法滚动滚动视图。它只是在尝试滚动时没有任何作用。
这是故事板部分:
这是它在模拟器中的样子:
我似乎无法弄清楚。我假设我必须在不向 UIStackView 添加具体高度的情况下执行此操作,因为那样会调整内容的大小......
我想要实现的就像 android 上的 ScrollView。
【问题讨论】:
您首先了解是什么让滚动视图可滚动吗?不使用自动布局时如何做到这一点有一条规则,而使用自动布局时如何做到这一点有另一条规则。您使用哪种方式,您是否了解如何使滚动视图以这种方式滚动? 不,我对 ios 很陌生。我是一名试图学习 IOS 的 Android 开发人员。我猜我有自动布局(这可能是默认设置) 【参考方案1】:此滚动视图不会滚动,因为您没有为滚动视图添加足够的约束来计算内容视图的大小。请尝试为按钮添加自动布局。每一个。并正确固定滚动视图。 scollview 必须能够正确计算内容大小才能正常工作。
https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithScrollViews.html
由于您是 iOS 新手,我建议您看看 tableview,它似乎更适合您的用例。
【讨论】:
以上是关于UIScrollView 和 StackView 不会滚动的主要内容,如果未能解决你的问题,请参考以下文章
在 StackView 内动态添加 ViewControllers - UIScrollView 内的 UIStackView
如何以编程方式将自定义 UIView 添加到 UIScrollView 之上的 Stackview?
使用 ScrollView 时出现 Autolayout 和 StackView 的问题