如何在SwiftUI中从列表视图中删除底部默认填充

如何在SwiftUI中从列表视图中删除底部默认填充,swift,swiftui,swiftui-layout,Swift,Swiftui,Swiftui Layout,我试图删除列表视图上的底部填充,当在它之后定义另一个视图时,使列表视图位于另一个视图的顶部。不重叠。似乎有一些额外的空间从列表中创建,我不知道如何删除,以实现我想要的。这是我的 列表{ ForEach(0…2,id:\.self){color in 文本(“\(颜色)”) }.listRowInsets(EdgeInsets()) } 矩形().填充(颜色.红色) 这是它的样子。您可以看到第2行和红色矩形之间有一个间隙。我希望这两个视图的边界彼此相邻 编辑:我曾尝试将代码嵌入到VStack中

我试图删除列表视图上的底部填充,当在它之后定义另一个视图时,使列表视图位于另一个视图的顶部。不重叠。似乎有一些额外的空间从列表中创建,我不知道如何删除,以实现我想要的。这是我的

列表{
ForEach(0…2,id:\.self){color in
文本(“\(颜色)”)
}.listRowInsets(EdgeInsets())
}
矩形().填充(颜色.红色)
这是它的样子。您可以看到第2行和红色矩形之间有一个间隙。我希望这两个视图的边界彼此相邻

编辑:我曾尝试将代码嵌入到VStack中,但这并不能消除我们在下面看到的空白

从这个角度看,似乎用VStack包装列表可以消除差距,但这不是我们在这里看到的吗

VStack(间距:0){
VStack(间距:0){
名单{
ForEach(0…0,id:\.self){中的数字
文本(“1”)
.listRowBackground(颜色.蓝色)
文本(“2”)
}.listRowBackground(颜色.灰色)
}
}
VStack(间距:0){
HStack(间距:0){
矩形()
.填充(颜色.红色)
矩形()
.填充(颜色.红色)
}
HStack(间距:0){
矩形()
.填充(颜色.红色)
矩形()
.填充(颜色.红色)
}
}
.aspectRatio(1.0,contentMode:.fill)
VStack{
名单{
文本(“1”)
.listRowBackground(颜色.紫色)
文本(“2”)
.listRowBackground(颜色.粉红色)
文本(“3”)
.listRowBackground(颜色.蓝色)
文本(“4”)
.listRowBackground(颜色为橙色)
}
}
}

我尝试了多个间距为0的VSTACK变体,但没有找到如何消除列表视图创建的间隙。如果有更多的行被添加,它开始填满,但是我试着让红色矩形上方有两行没有白色间隙

我们可以看到下面突出显示的列表视图包含了这一差距


您需要在列表和矩形之外添加一个
VStack
,但要使列表具有自动-height@aheze并不是我希望列表具有自动高度,而是我不希望行和矩形之间存在间隙。即使将上述代码嵌入VStack并指定
间距:0
,结果仍然相同。这是否回答了您的问题?