我正在尝试创建一个简单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))
}
}
}
}
现在这很好用,但每当我不得不调用它时,我总是很生气:
LeaningTower(views: [Text("Something 1"), Text("Something 2"), Text("Something 3")])
在这样的数组中列出视图对我来说似乎非常奇怪,所以我想知道是否有一种方法可以@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
}
如果有一种方法可以@ViewBuilder
用来创建/提取视图数组,请告诉我。
(即使实际上不可能使用@ViewBuilder
任何使它看起来更整洁的东西也会有很大帮助)