[英]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.