以下代码生成一个带有文本视图的简单VStack,该视图之间没有间距(行1和2)。
但是,将图像添加到第三行(绿色)会在整个行的上方和下方添加不必要的间距。
struct ContentView: View {
var body: some View {
VStack {
HStack {
Text("one thing")
}.background(Color(.yellow))
HStack {
Text("nothing")
}.background(Color(.red))
HStack {
Text("three")
Image(systemName: "star")
.resizable()
.frame(width: 8, height: 8)
}.background(Color(.green))
HStack {
Text("three things")
}.background(Color(.red))
}
}
}
如何避免多余的多余空间?
该空间显示与图像大小无关(即使图像尺寸只有几个像素)。
当然,我想知道为什么会生成空间。
感谢您的帮助
上面的代码的屏幕截图:
答案 0 :(得分:1)
您可以调整VStack的间距:
var body: some View {
VStack (spacing: 0) {
HStack {
Text("one thing")
}.background(Color(.yellow))
HStack {
Text("nothing")
}.background(Color(.red))
HStack {
Text("three")
Image(systemName: "star")
.resizable()
.frame(width: 8, height: 8)
}.background(Color(.green))
HStack {
Text("three things")
}.background(Color(.red))
}
}