如何在 SwiftUI 中正确对齐 GeometryReader

How to align properly with GeometryReader in SwiftUI

所以我正在制作一个应用程序,但我遇到了 GeometryReader 的问题。我创建了一个测试文件,无法弄清楚我做错了什么。我正在尝试将所有文​​本视图与前导对齐。然而,他们中只有两个人真正动了。我在 VStack 中嵌入了一个 VStack,我认为这就是问题所在。

struct TestFile: View {
    var body: some View {
        
        HStack {
            Text("Hello")
            GeometryReader { geo in
                VStack(alignment: .leading) {
                    Text("Test 1")
                    Text("Test 2")
                    
                    VStack {
                        Text("Test 3")
                        Text("Test 4")
                    }
                    .frame(width: geo.size.width)

                }
                .background(.orange)
            }
            .background(.purple)
            
            
        }
        .background(.green)
        
        
        

    }
}

struct TestFile_Previews: PreviewProvider {
    static var previews: some View {
        TestFile()
    }
}

事情是这样的

我怎样才能让测试 3 和测试 4 与测试 1 和测试 2 对齐?我已经尝试在两个 VStack 上放置对齐方式,但不幸的是,这没有任何效果。

你不需要 GeometryReader,但使用对齐方式,比如

VStack {
    Text("Test 3")
    Text("Test 4")
}
.frame(maxWidth: .infinity, alignment: .leading)  // << here !!

并删除未使用的 GR。