是否有可能通过动态编程方式将多个SwiftUI视图添加到父视图中?
例如,假设我们有一个基本视图,如下所示:
struct MyRectView: View {
var body: some View {
Rectangle()
.fill(Color.red)
.frame(width: 200, height: 200)
}
}
一个定义为按钮的元素:
struct MyButtonThatMakesRects: View {
var body: some View {
Button(
action: {
// Create & add Views to parent here?
// ...
},
label: {
Text("tap to create a Rect")
}
)
}
}
当点击MyButtonThatMakesRects
时,是否有办法在父视图中创建多个MyRectView
实例?
我的最初想法与我在UIKit中的做法相同。 即在按钮触发后,创建一个新的UIView()
,然后使用.addSubview(...)
将其添加到父视图中。 不确定SwiftUI是否具有类似的功能。 或者可能有一种更简单的方法来完成这个目标?