在 Swift 中设置 Child ViewController ScrollView 的高度

Setting Child ViewController Height in ScrollView in Swift

我有 2 个视图控制器,每个控制器都有一个 ScrollView (ViewController A 和 B)。我必须将它们添加到 Parent ViewController (ViewController C) 中作为 child ViewControllers,一个接一个垂直。 Child ViewController 不应独立滚动(应从视图层次结构中删除 ScrollView)。相反,Parent View Controller 应该有一个 scrollView,如图所示。我该如何实现?

我的做法如下:

Child 视图控制器:

  1. 从 child VC 视图层次结构中删除了 scrollView。
  2. 将scrollView的子视图直接添加到VC的主视图中。

Parent 视图控制器:

  1. 已将 child VC 添加到 parent VC。
  2. 在 Parent VC.
  3. 中创建了两个具有固定框架的容器
  4. 将child VC的视图作为子视图添加到两个容器视图中。 (在 #2 中创建)

问题出在两个容器的固定框架上。如何将它们的高度设置为等于它们各自 child 的视图?另外,如何更新 parent scrollView 的内容大小?

给VCC的scrollview添加一个UIStackview,添加一个低优先级的任意高度约束。然后将 VC A 和 B 的视图添加到堆栈视图,如果这些视图具有固有大小(由约束引起),堆栈视图将自动缩放,允许在 VC C 中滚动。