我目前正在我的 SwiftUI 应用程序中构建一些小信息片段,并希望蓝色背景颜色填充概述空间的其余部分(这只是在 Xcode 中的预览中突出显示)。我怎样才能做到这一点?
HStack {
VStack {
Text("Total Yield").padding([.trailing, .leading, .top])
Text("3.0 oz").padding([.trailing, .leading, .bottom])
}
.background(Color.blue)
.frame(maxWidth: .infinity)
Spacer()
VStack {
Text("Ice").padding([.trailing, .leading, .top])
Text("None").padding([.trailing, .leading, .bottom])
}
.background(Color.blue)
.frame(maxWidth: .infinity)
Spacer()
VStack {
Text("Glass").padding([.trailing, .leading, .top])
Text("Coupe").padding([.trailing, .leading, .bottom])
}
.background(Color.blue)
.frame(maxWidth: .infinity)
}
.padding()
我假设将框架 maxWidth 设置为无穷大可以实现此目的,但似乎没有达到预期的效果。
最佳答案
修饰符的顺序很重要。如果您希望蓝色.background
使用展开的框架,则它需要位于.frame
之后。
.frame(maxWidth: .infinity)
.background(Color.blue)
结果:
关于ios - SwiftUI填充Vstack剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68991714/