小编Ped*_*nes的帖子

如何在 SwiftUI 上的 VStack 上对齐多个项目的列?

在下面的示例中,如果我有一个VStackfollow 的 a HStack,如何使 follow 的宽度与gridHStack相同?

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()
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果: 上面代码的结果 第三行的文本右对齐,但其他行添加了一个空格

我尝试过VStack(alignment: .trailing)通过添加一个Text具有框架宽度的空白来解决此问题,并且它有效,但我认为这不是一种优雅的方式。

我也尝试过使用alignmentGuide,但它把观点推向了其他方式。

有人有同样的问题吗?

alignment swiftui vstack hstack

2
推荐指数
1
解决办法
4663
查看次数

标签 统计

alignment ×1

hstack ×1

swiftui ×1

vstack ×1