SwiftUI,是否删除VStack中视图之间的空间?

SwiftUI,是否删除VStack中视图之间的空间?,swiftui,swiftui-list,Swiftui,Swiftui List,为什么三个蓝色矩形和列表之间有这么大的空间?如何删除空间,使VStack堆栈中的所有视图都位于顶部?我尝试在列表之后直接使用间隔符(),但没有任何改变 struct ContentView:View{ init(){UITableView.appearance().backgroundColor=UIColor.clear} var body:一些观点{ 导航视图{ ZStack{ 颜色:红色 .ignoresSafeArea() VStack{ HStack{ 文本(“假标题”) .font

为什么三个蓝色矩形和列表之间有这么大的空间?如何删除空间,使VStack堆栈中的所有视图都位于顶部?我尝试在列表之后直接使用
间隔符()
,但没有任何改变

struct ContentView:View{
init(){UITableView.appearance().backgroundColor=UIColor.clear}
var body:一些观点{
导航视图{
ZStack{
颜色:红色
.ignoresSafeArea()
VStack{
HStack{
文本(“假标题”)
.font(.system(.largeTitle,设计:。四舍五入))
.fontWeight(.heavy)
垫片()
按钮(操作:{
//背景
},标签:{
图像(系统名称:“gearshape.fill”)
.font(.system(.title2))
})
}
.padding()
GeometryReader{中的几何体
HStack(){
文本(“1”)
.框架(宽度:几何尺寸。宽度*0.30,高度:150)
.背景(颜色.蓝色)
垫片()
文本(“2”)
.框架(宽度:几何尺寸。宽度*0.30,高度:150)
.背景(颜色.蓝色)
垫片()
文本(“3”)
.框架(宽度:几何尺寸。宽度*0.30,高度:150)
.背景(颜色.蓝色)
}
}
.padding()
名单{
文本(“一”)
文本(“两个”)
文本(“三”)
文本(“四”)
文本(“五”)
文本(“六”)
}
.listStyle(InsetGroupedListStyle())
}
}
.navigationBarHidden(真)
}
}
}

附加问题:在web开发中,您可以打开浏览器的web检查器,并使用元素选择器单击高亮显示其边框的元素。对于这样的情况很有用,您试图找出不符合规则的间距属于哪个元素。Xcode中有类似的东西吗?

VStack(间距:0){…}
垫片()
对于您的问题,您可以在Xcode中使用视图检查器

VStack(间距:0){…}
垫片()

对于您的问题,您可以在Xcode中使用视图检查器

因为您知道您的带有蓝色矩形的HStack的高度将为
150
,所以您应该使用
.frame(高度:150)

否则,
GeometryReader
将占用所有可用的垂直空间


回复:您的web开发人员比较,请查看Xcode视图层次结构检查器。这并不完全相同,但有着相同的脉络:

既然您知道您的带有蓝色矩形的HStack的高度将是
150
,您应该使用
.frame(高度:150)
将其约束为该高度:

否则,
GeometryReader
将占用所有可用的垂直空间


回复:您的web开发人员比较,请查看Xcode视图层次结构检查器。这不完全一样,但都是一样的:

是的!这就解决了它!非常感谢。你关于视图层次结构的建议是纯金的。是的!这就解决了它!非常感谢。而且你关于视图层次结构的建议是纯金的。不幸的是,这不起作用。但是感谢大家对视图层次结构的了解!不幸的是,这不起作用。但是感谢大家对视图层次结构的了解!
GeometryReader { geometry in
    ...
}
.padding()
.frame(height: 150) //Here