繁体   English   中英

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 相同的 alignment? 我已经尝试在两个 VStacks 上进行对齐,但不幸的是,这没有任何作用。

你不需要GeometryReader ,但使用 alignment,比如

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

并摆脱未使用的 GR。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM