Xcode 10,Swift 5(这应该完全在Storyboard中是可行的)
当前布局:
- ChildView (child View of very first default view)
- ButtonView
- ScrollView
- VerticalStackView
- Button
- Button
- ...
- FooterView
- HorizontalStackView
- Button A
- Button B
我需要始终保持页脚视图在底部并使
UIStackView
滚动到其后,同时仍为UIStackView
中的每个按钮保持固定高度的哪些限制? 最佳答案
此设置似乎引起了许多问题,从内部的不可单击按钮(或无法与之交互的UITextField
)到无法滚动的UIScrollView
或“内容大小歧义”错误(描述为)-只是因为单个约束设置不正确。
结果:
here
如果可以同时显示的按钮较少,则该按钮将不会滚动,而仅在最后一个按钮下方显示黑色背景。
如何到那:
使用预览窗口下方的“添加新约束”按钮设置约束。
ChildView:
尾随/领先/底部:0到Superview
等高:到安全区域:
按住Control键将其从ChildView拖动到安全区域,然后选择“等于高度”
1. FooterView:
尾随/领先/底部:0到Superview
高度:等于50
顶部到ButtonView:
按住Control键并从FooterView拖动到ButtonView
选择“顶部”
单击新约束以在检查器中将其打开(FooterView.Top等于ButtonView.Bottom)
2. ButtonView:
尾随/领先/顶部:0到Superview
从底部到FooterView(已在上面进行了解释)
2.1。 ScrollView(黑色):
尾随/领先/底部/顶部:0到Superview
底部/顶部约束使ScrollView不会“溢出”
2.1.1。 VerticalStackView:
对齐/分布:填充
尾随/领先/底部/顶部:0到Superview
等于ButtonView的宽度:
按住Control键将其从VerticalStackView拖动到ButtonView并选择“相等宽度”
这将禁用ScrollView的水平滚动条
2.1.1.1。按钮(灰色):
身高:50
VerticalStackView负责其余的工作
当然,您也可以将“ UIScrollView”中的按钮替换为视图以创建某种类型的表单。