我在HStack
中有三个视图。我希望中心视图可以扩展到某个特定尺寸,即使其内容对于该尺寸而言太小。左视图和右视图应填充任何剩余的空间,并减小到最小宽度。 / p>
iPad:
视图B(灰色)已扩展到最大尺寸。视图A和C占用了剩余空间。
iPhone:
视图A和C(黄色和绿色)已缩小到最小宽度。视图B(灰色)填充了其余空间。
此代码并没有完全实现:
var body: some View {
HStack {
Text("A")
.frame(minWidth: 20.0, maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
.background(Color.yellow)
Text("B")
.frame(minWidth: 0.0, maxWidth: 500.0, maxHeight: .infinity, alignment: .center)
.background(Color.secondary)
Text("C")
.frame(minWidth: 20.0, maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
.background(Color.green)
}
}
它产生以下输出:
在这种情况下,视图B的内容不够宽,因此不会展开以填充其空间。
要重述:
如何强制B将其宽度增加到最大?