HStack
和
Vstack
它们的布局通常基于子视图的最大大小。以下是一个示例:
HStack {
Color.orange
.frame(idealWidth: 200, maxWidth: .infinity)
Color.purple
.frame(idealWidth: 100, maxWidth: .infinity)
}
.padding()
.frame(height: 100)
然而,当相同
HStack
嵌套在
ScrollView
,则使用理想尺寸:
ScrollView(.horizontal) {
HStack {
Color.orange
.frame(idealWidth: 200, maxWidth: .infinity)
Color.purple
.frame(idealWidth: 100, maxWidth: .infinity)
}
}
.padding()
.frame(height: 100)
所以我想知道,有没有办法
HStack
或
VStack
将它们的布局基于理想大小,而不是最大大小,而不在内部嵌套
卷轴视图
?
一种解决方案可能是,如果子视图可以以某种方式进行包装,从而将其理想大小返回为最大大小。有什么建议吗?
当然,一种习俗
Layout
可以用来做这项工作。但不走这条路能做到吗?