相关疑难解决方法(0)

有什么方法可以在 SwiftUI 中使用 @ViewBuilder 创建/提取视图数组

我正在尝试创建一个简单的struct,它接受一组视图并返回一个VStack包含这些视图的普通视图,除了它们都是对角堆叠的。

代码:

struct LeaningTower<Content: View>: View {
    var views: [Content]
    var body: some View {
        VStack {
            ForEach(0..<views.count) { index in
                self.views[index]
                    .offset(x: CGFloat(index * 30))
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这很好用,但每当我不得不调用它时,我总是很生气:

LeaningTower(views: [Text("Something 1"), Text("Something 2"), Text("Something 3")])
Run Code Online (Sandbox Code Playgroud)

在这样的数组中列出视图对我来说似乎非常奇怪,所以我想知道是否有一种方法可以像这样@ViewBuilder调用我的LeaningTower结构:

LeaningTower {  // Same way how you would create a regular VStack
    Text("Something 1")
    Text("Something 2")
    Text("Something 3")
    // And then have all of these Text's in my 'views' array
}
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以@ViewBuilder …

arrays ios swift swiftui viewbuilder

7
推荐指数
3
解决办法
1432
查看次数

标签 统计

arrays ×1

ios ×1

swift ×1

swiftui ×1

viewbuilder ×1