SwiftUI在VStack顶部的神秘空间

SwiftUI在VStack顶部的神秘空间,swiftui,Swiftui,我有这个密码 NavigationView{ VStack{ GeometryReader{ geometry in VStack{ Text("a") } .frame(width:geometry.size.width) .background(Color.orange) Spacer(

我有这个密码

    NavigationView{
      VStack{
        GeometryReader{ geometry in
            VStack{
                Text("a")
            }
            .frame(width:geometry.size.width)
            .background(Color.orange)
            Spacer()
        }
      }
      .modifier(NavBarModifier(font: self.fontUI,text: "Profile"))
    }
    .navigationViewStyle(StackNavigationViewStyle())
我想要这个 GeometryReader将出现在VStack的顶部,但我得到的是:

其中,蓝线是VStack的顶部,橙色是GeometryReader。我尝试在GeometryReader之后添加间隔符(),但没有成功。如何删除该间距

struct NavBarModifier: ViewModifier{
    var font: UIFont
    var text: String
    func body(content: Content) -> some View {
        return content
        .zIndex(0)
        .animation(.spring())
        .padding(.top,80)
        .navigationBarTitle(Text(self.text),displayMode: .inline)
        .navigationBarHidden(false)
        .foregroundColor(.orange)
        .background(NavigationConfigurator { nc in
                       nc.navigationBar.barTintColor = UIColor(red: 243/255, green: 107/255, blue: 21/255, alpha: 1)
                       nc.navigationBar.titleTextAttributes = [
                        .foregroundColor : UIColor.white,
                        .font : self.font,
                        .kern: 1.2
                       ]
        }
        .padding([.top, .leading, .trailing]))
    }
}

您需要在GeometryReader之后添加间隔符,使其在
VStack
顶部布局,还需要添加
.edgesIgnoringSafeArea(.top)
使其忽略空白(安全区域),并使其在
VStack
顶部对齐

VStack{
GeometryReader{中的几何体
VStack{
文本(“s”)
}
.框架(宽度:几何尺寸宽度)
.背景(颜色.橙色)
垫片()
}
.edgesIgnoringSafeArea(.top)
垫片()
}

只需删除
NavBarModifier

func body(content: Content) -> some View {
    return content
    .zIndex(0)
    .animation(.spring())
//    .padding(.top,80)        // << this one !!

func body(content:content)->一些视图{
返回内容
.zIndex(0)
.animation(.spring())

//.padding(.top,80)//我假设它是NavigationView的标题。是否显示完整的视图代码?@Asperi我添加了NavView和修饰符。