在页面swiftUI顶部移动VStack

在页面swiftUI顶部移动VStack,swift,swiftui,vstack,Swift,Swiftui,Vstack,我想创建一个顶栏,我的代码如下所示: struct MyView: View { var body: some View { VStack(alignment: .leading) { Bar() Spacer() } } } struct Bar: View { var body: some View { VStack(alignment: .leading, spacin

我想创建一个顶栏,我的代码如下所示:

struct MyView: View {
    var body: some View {
        VStack(alignment: .leading) {
            Bar()
            Spacer()
        }
    }
}

struct Bar: View {
    var body: some View {
        VStack(alignment: .leading, spacing: 0) {
            HStack {
                Spacer()
                Text("Community").comfortaa(weight: .bold, size: 20).foregroundColor(.therameBlack)
                Spacer()
                Button(action: {
                }) {
                    Image(systemName: "gearshape.fill").font(.headline).foregroundColor(.therameBlack)
                }
            }
        }.padding(.leading,5).padding(.trailing,5)
        .padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)! + 10)
    }
}
但是,屏幕顶部仍有间距:

我也试着这么做,正如这篇文章中所建议的

但这没用。。。
此外,如果我从.safeArea插图中删除+10,则顶部仍有空间。

可能是填充的问题。只需移除复杂的填充物,然后添加简单的填充物

struct TestView: View {
    var body: some View {
        VStack(alignment: .leading) {
            Bar()
            Spacer()
        }
    }
}


struct Bar: View {
    var body: some View {
        VStack(alignment: .leading, spacing: 0) {
            HStack {
                Spacer()
                Text("Community")
                Spacer()
                Button(action: {
                }) {
                    Image(systemName: "gearshape.fill").font(.headline)
                }
            }.padding()
        }
    }
}

可能是填充问题。只需移除复杂的填充物,然后添加简单的填充物

struct TestView: View {
    var body: some View {
        VStack(alignment: .leading) {
            Bar()
            Spacer()
        }
    }
}


struct Bar: View {
    var body: some View {
        VStack(alignment: .leading, spacing: 0) {
            HStack {
                Spacer()
                Text("Community")
                Spacer()
                Button(action: {
                }) {
                    Image(systemName: "gearshape.fill").font(.headline)
                }
            }.padding()
        }
    }
}

我想如果你移除
.padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)!+10)
它将在屏幕顶部对齐我想如果你移除
.padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)!+10)
它将在屏幕顶部对齐

是否为
MyView
您的根视图?或者有父视图吗?@pawello2222问题是根视图,你说得对!!非常感谢:)是您的根视图吗?或者有父视图吗?@pawello2222问题是根视图,你说得对!!非常感谢:)你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢