在 UIScrollView 中嵌入 UIStackView 时出现问题
Problems when embed an UIStackView in an UIScrollView
我正在通过 Interface Builder 设置一个 iOS 应用界面。
我有几个水平堆栈视图,全部嵌入在一个垂直堆栈视图中。到这里,布局似乎没问题,约束也做好了。
当我在 UIScrollView 中嵌入垂直堆栈视图时,布局变得非常糟糕。我的布局约束可能有问题,但我真的不知道是什么。这里有两张图片,代表在 UIScrollView 中嵌入之前和之后的布局:
有人知道为什么会这样吗?
提前谢谢大家。
更新
安装此约束后:
VerticalStackView.width == ScrollView.width
结果如下:
更新 2
设置以下视图层次结构(屏幕截图)和约束,您应该可以开始了:
ScrollView.top == View.top
ScrollView.leading == View.leading
ScrollView.bottom == View.bottom
ScrollView.trailing == View.trailing
ContentView.top == ScrollView.top
ContentView.leading == ScrollView.leading
ContentView.bottom == ScrollView.bottom
ContentView.trailing == ScrollView.trailing
ContentView.width == ScrollView.width
VerticalStackView.top == ContentView.top + 16
VerticalStackView.leading == ContentView.leading + 16
VerticalStackView.bottom == ContentView.bottom - 16
VerticalStackView.trailing == ContentView.trailing - 16
除了前四个约束中的 View
,您还可以使用 SafeAreaLayoutGuide
(取决于您的需要)。
我正在通过 Interface Builder 设置一个 iOS 应用界面。 我有几个水平堆栈视图,全部嵌入在一个垂直堆栈视图中。到这里,布局似乎没问题,约束也做好了。
当我在 UIScrollView 中嵌入垂直堆栈视图时,布局变得非常糟糕。我的布局约束可能有问题,但我真的不知道是什么。这里有两张图片,代表在 UIScrollView 中嵌入之前和之后的布局:
有人知道为什么会这样吗? 提前谢谢大家。
更新
安装此约束后:
VerticalStackView.width == ScrollView.width
结果如下:
更新 2
设置以下视图层次结构(屏幕截图)和约束,您应该可以开始了:
ScrollView.top == View.top
ScrollView.leading == View.leading
ScrollView.bottom == View.bottom
ScrollView.trailing == View.trailing
ContentView.top == ScrollView.top
ContentView.leading == ScrollView.leading
ContentView.bottom == ScrollView.bottom
ContentView.trailing == ScrollView.trailing
ContentView.width == ScrollView.width
VerticalStackView.top == ContentView.top + 16
VerticalStackView.leading == ContentView.leading + 16
VerticalStackView.bottom == ContentView.bottom - 16
VerticalStackView.trailing == ContentView.trailing - 16
除了前四个约束中的 View
,您还可以使用 SafeAreaLayoutGuide
(取决于您的需要)。