SwiftUI | VStack无法在ForEach循环中运行

时间:2020-11-06 03:10:02

标签: swift xcode foreach swiftui

我正在使用ForEach循环来显示不同的条形,并在其下方显示数字。但是,我似乎无法在HStack内的ForEach循环内使用VStack来显示多个彼此相邻的条形图,所有条形图都位于下方。

HStack{
    ForEach(0 ..< 7) {
        VStack {
            Capsule().frame(width: 30, height: 200)
            Text("\($0 + 1)")
        }                        
    }
}

我尝试过将VStack移到ForEach循环之外,但这导致条形图显示在彼此下方。在将多个条形图并排放置时,如何在条形图下显示数字?

1 个答案:

答案 0 :(得分:2)

它具有较小的修复功能-为ForEach添加了显式参数。经过Xcode 12.1 / iOS 14.1的测试

demo

HStack {
    ForEach(0 ..< 7) { i in
        VStack {
            Capsule().frame(width: 30, height: 200)
            Text("\(i + 1)")
        }
    }
}