【发布时间】:2021-05-22 01:25:07
【问题描述】:
我有一个充满屏幕的滚动视图,里面有两个堆栈视图。顶部堆栈视图和底部堆栈视图。它们分别固定在滚动视图的顶部和底部,我在它们之间有一个可以调整的垂直间距约束,因此它> = 10(使用此处找到的解决方案-Fill Vertical Space of UIScrollView)。这里的想法是底部的stackview有一些按钮,并且总是显示在底部。
所以这一切都有效,根据我在下面展示的模型,我可以让状态 1、2 和 3 工作(状态 2 和 3 允许垂直滚动)。我遇到的问题是试图让状态 4 工作 - 这实际上与状态 1 相同,但键盘可见。当键盘可见时,我正在通过 keyboardFrame 的高度调整滚动视图的 contentInsets,一切正常。但是因为底部堆栈被固定在滚动视图的底部,显然滚动视图的 contentSize 不会改变,顶部和底部堆栈视图之间的垂直间距也不会调整。
我一直在尝试以不同的方式约束视图,但无法将我的头脑围绕在一个简单的解决方案上。有什么建议吗?
【问题讨论】:
-
为了实现您的目标(如果我理解正确的话),您可能希望根据keyboardFrame 更改滚动视图的底部约束,而不是更改
contentInsets。
标签: ios swift autolayout scrollview