ios - 如何在 SwiftUI 中与 GeometryReader 正确对齐

标签 ios swift xcode swiftui geometryreader

所以我正在制作一个应用程序,但我在使用 GeometryReader 时遇到了问题。我创建了一个测试文件,但无法弄清楚我做错了什么。我正在尝试将所有文​​本 View 与前导对齐。然而,他们中只有两个人真正移动。我在 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()
    }
}

这就是发生的事情

enter image description here

如何才能使测试 3 和测试 4 与测试 1 和测试 2 保持相同的对齐方式?我尝试过在两个 VStack 上进行对齐,但不幸的是,这没有任何作用。

最佳答案

您不需要使用GeometryReader,但可以使用对齐方式,例如

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

并摆脱未使用的 GR。

关于ios - 如何在 SwiftUI 中与 GeometryReader 正确对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72115779/

相关文章:

ios - 如何在 iOS 4 应用程序中添加 facetime?

ios - 为什么我的 Phonegap 应用程序覆盖了我移动设备的状态栏?

ios - 如何发送/返回值从 dispatch_sync(dispatch_get_main_queue(), {} 到另一个页面

swift - 不支持的架构.frameworks

ios - IBAction 没有被解雇

ios - 当 View Controller 弹出或插入导航 Controller 堆栈时如何获得通知

ios - 尝试访问分段控制索引时,Swift 抛出错误

ios - numberOfSectionsInTableView 未调用

swift - Flutter Google Maps iOS构建失败

ios - 如何从 Mov 文件制作 PHLivePhoto?