如何在 Swift IOS 中创建具有多个堆栈视图的可滚动堆栈视图

Posted

技术标签:

【中文标题】如何在 Swift IOS 中创建具有多个堆栈视图的可滚动堆栈视图【英文标题】:How to create scrollable stack view with multiple stack views in swift IOS 【发布时间】:2016-09-26 13:37:54 【问题描述】:

我正在尝试创建一个可滚动的堆栈视图。 例如,它的层次结构是这样的

-ScrollView
--StackView 
---StackView1
---StackView2
---StackView3
.....
---StackView12

StackView1,StackView2, ...., StackView12 将具有与 OuterMost Scroll View 相同的动态高度和宽度。

OuterMost StackView 的宽度也与 OuterMost Scroll View 相同。

我已将 OuterMost StackView 的属性设置如下:

Alignment: Fill
Distribution: FillEqually
Spacing: 15

所有子 StackViews (StackView1,StackView2, ...., StackView12) 都运行良好。

我也在我的快速代码中添加了这个

override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()
    OutMostScrollView.contentSize = CGSize(width: OutMostStackView.frame.width, height: OutMostStackView.frame.height)

但我无法在 OuterMost StackView 中滚动。请任何人指导我实现这一目标的真正方法。 非常感谢。

【问题讨论】:

【参考方案1】:

我刚刚在OutMostScrollView的height参数中添加了250的高度,问题就解决了。现在它滚动到最后。

OutMostScrollView.contentSize.height = OutMostStackView.frame.height+250

我从中得到的是,我认为除了OutMostStackView.frame.height 之外,可能还有一些隐藏高度被视图控制器的视图所消耗。

【讨论】:

【参考方案2】:

斯威夫特 4.2

我在堆栈视图中做了一个滚动示例。

简单而完整,不需要故事板(以编程方式)。

您可以在下面的要点中看到它:

?Scroll stackView in Swift

【讨论】:

以上是关于如何在 Swift IOS 中创建具有多个堆栈视图的可滚动堆栈视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中创建像 tinder 这样的堆栈视图? [关闭]

如何在 tableview 中创建一个具有多个字段的单元格?

无法理解如何在 iOS Swift 中创建具有多列的表

如何使用 Swift 在 Firebase 中创建具有多个属性的用户?

如何在 iOS 中创建具有动态内容的视图?

如何在 Xcode 8/Swift 3 中创建 iOS liveView [重复]