我刚刚做了一个函数,以文本为输入,并将该文本添加到AnyView的数组,我想用VStack做同样的事情,这里是我的文本示例代码正在工作,只是想要相同的功能为VStack,感谢阅读和你的时间。
struct ContentView: View {
init() {
appendThisText(text: Text("Hello, world1!") )
appendThisText(text: Text("Hello, world2!") )
appendThisText(text: Text("Hello, world3!") )
}
var body: some View {
ForEach(myAnyTexts.indices, id:.self) { index in
myAnyTexts[index]
}
}
}
var myAnyTexts: [AnyView] = [AnyView]()
func appendThisText(text: Text) {
myAnyTexts.append(AnyView(text))
}
var myAnyVStacks: [AnyView] = [AnyView]()
func appendThisVStack(vStack: VStack<Content: View>) { // Here: the problem!
myAnyVStacks.append(AnyView(vStack))
}
为您更新质量代码:
var myAnyContents: [AnyView] = [AnyView]()
func appendThisContent<Content: View>(content: Content) {
myAnyContents.append(AnyView(content))
}
添加视图约束
func appendThisVStack<Content: View>(vStack: Content) { //<-- Here
myAnyVStacks.append(AnyView(vStack))
}