是否有办法在单个元素中动态覆盖HStack
的对齐属性?
请考虑此方案
1.存在具有alignment = bottom
的父项HStack
HStack
中有3个大小不同的元素
1.我希望第3个元素与HStack
的顶部对齐。此对齐方式与Hstack
的底部对齐方式不同
var body: some View {
HStack(alignment: .bottom) {
Rectangle()
.fill(.yellow)
.frame(height: 100)
Rectangle()
.fill(.blue)
.frame(height: 20)
// I want this to go to the top of the HStack
Rectangle()
.fill(.green)
.frame(height: 50)
}
.background {
Color.red
}
}
我试图让HStack
考虑最高高度100,只改变最后一个元素的对齐方式。
我尝试过将第3个元素 Package 到另一个堆栈中,但只有当我指定maxHeight
等于父元素的子元素中最高的高度100时,这才有效。这意味着这些矩形必须知道它们的兄弟元素。
HStack {
Rectangle()
.fill(.green)
.frame(height: 50)
}
.frame(maxHeight: 100, alignment: .top)
1条答案
按热度按时间enxuqcxy1#
你可以试试这个:
如果出于某种原因,您希望限制
Spacer
可以占用的空间大小的范围,则可以按以下示例添加修饰符: