在下面的示例中,如果我有 a follow 的VStack
a HStack
,我怎样才能使HStack
follow 的宽度与grid相同?
struct VStackAlignmentView: View {
let data = ["a", "b", "cdefghl alalala", "i", "j"]
var body: some View {
VStack(spacing: 0) {
ForEach (data, id:\.self) { item in
HStack(alignment: .top) {
Text("Column 1")
VStack(alignment: .trailing) {
Text("Column \(item)")
Text("Value 2")
}
.frame(minWidth: 120)
Text("Column 3")
Spacer()
}
}
}
}
}
这是我得到的结果: 第 3 行的文本向右对齐,但其他行添加了一个空格
我已经尝试通过在框架宽度上VStack(alignment: .trailing)
添加一个空白Text
来解决这个问题,并且它可以工作,但我认为这不是一种优雅的方式。
我也尝试过使用alignmentGuide
,但它会将视图推向其他方式。
有同样问题的人吗?