将堆栈视图尺寸更改为比率
Changing Stack View dimensions to be a ratio
我想知道如何将堆栈视图的尺寸更改为比例,特别是 7:6。到目前为止,我已经使用“Align Center X to: Superview”和“Height Equals: 400”以及“Align Top to: Safe Area Equals: 100”来限制 Stack View。如何在所有设备上保持宽度和高度之间的恒定比率?谢谢!
对于用户界面,我使用的是 Storyboard,而不是 SwiftUI。
What I have right Now
我不确定为什么这不起作用,但这可能是我对纵横比的理解。我的主要问题是如何使用(phone 宽度 - 20 点)来确定高度,以便它是一个比率。
Expected result, but I don't want to manually set the height and width, rather a ratio
I don't want to manually set the height and width
那么您应该删除当前的“高度等于:400”限制!之后布局应该固定。它应该看起来像:
为了完整起见,所有堆栈视图都应具有相同的 distribution=fill 和 alignment=fill。
高度=400 约束导致约束冲突。如果高度 = 400,则宽度约为 467 以获得 7:6 的纵横比,但超级视图的宽度不足以实现这一点。但是您还需要将堆栈视图的前导和尾随固定在其超级视图的前导和尾随上!这些约束不能同时满足。
请注意,此布局在横向时看起来不太好,因为宽度会很大而可用高度很小。您可能希望根据大小 类 添加变体到 install/uninstall 约束。例如,在横向模式下,您可以固定顶部和底部而不是前导和尾随。
我想知道如何将堆栈视图的尺寸更改为比例,特别是 7:6。到目前为止,我已经使用“Align Center X to: Superview”和“Height Equals: 400”以及“Align Top to: Safe Area Equals: 100”来限制 Stack View。如何在所有设备上保持宽度和高度之间的恒定比率?谢谢!
对于用户界面,我使用的是 Storyboard,而不是 SwiftUI。
What I have right Now 我不确定为什么这不起作用,但这可能是我对纵横比的理解。我的主要问题是如何使用(phone 宽度 - 20 点)来确定高度,以便它是一个比率。
Expected result, but I don't want to manually set the height and width, rather a ratio
I don't want to manually set the height and width
那么您应该删除当前的“高度等于:400”限制!之后布局应该固定。它应该看起来像:
为了完整起见,所有堆栈视图都应具有相同的 distribution=fill 和 alignment=fill。
高度=400 约束导致约束冲突。如果高度 = 400,则宽度约为 467 以获得 7:6 的纵横比,但超级视图的宽度不足以实现这一点。但是您还需要将堆栈视图的前导和尾随固定在其超级视图的前导和尾随上!这些约束不能同时满足。
请注意,此布局在横向时看起来不太好,因为宽度会很大而可用高度很小。您可能希望根据大小 类 添加变体到 install/uninstall 约束。例如,在横向模式下,您可以固定顶部和底部而不是前导和尾随。