Stack View 中 Stack View 的约束
Constraints for Stack View in Stack View
为什么会这样?
这是我的约束:
两个堆栈视图:水平和垂直,均在 "Fill Equally" 上设置分布。
我做错了什么?
distribution
属性 决定子视图沿堆栈视图轴的大小,在这种情况下,垂直堆栈视图上的 .fillEqually
将导致开关和标签具有一样高
alignment
属性 将确定视图在另一个轴上的位置和大小。如果设置为默认值 .fill
,视图将具有与堆栈视图相同的大小。
在这种情况下,堆栈视图将为开关和标签分配与包含堆栈视图一样宽的宽度,但开关具有固定大小,因此它们将覆盖它并保持固定宽度。
如果您希望标签和开关居中,请将 alignment
设置为 .center
。
您的垂直 StackView 应设置为:
Alignment: Center
Distribution: Fill
并且您的 Horizontal StackView 应设置为:
Alignment: Fill
Distribution: Fill Equally
结果:
为什么会这样?
这是我的约束:
两个堆栈视图:水平和垂直,均在 "Fill Equally" 上设置分布。
我做错了什么?
distribution
属性 决定子视图沿堆栈视图轴的大小,在这种情况下,垂直堆栈视图上的 .fillEqually
将导致开关和标签具有一样高
alignment
属性 将确定视图在另一个轴上的位置和大小。如果设置为默认值 .fill
,视图将具有与堆栈视图相同的大小。
在这种情况下,堆栈视图将为开关和标签分配与包含堆栈视图一样宽的宽度,但开关具有固定大小,因此它们将覆盖它并保持固定宽度。
如果您希望标签和开关居中,请将 alignment
设置为 .center
。
您的垂直 StackView 应设置为:
Alignment: Center
Distribution: Fill
并且您的 Horizontal StackView 应设置为:
Alignment: Fill
Distribution: Fill Equally
结果: