我想制作一个通用的SwiftUI视图,可以将其插入和插入控件。我不仅希望传递数据,还希望像您一样将子视图传递给List
:
List{
Text("This works")
Text("Hello World")
Text("This works")
}
MyClass {
Text("This works")
Text("Hello World")
Text("This works")
}
这可能吗?如果是这样,我将如何声明该类?
答案 0 :(得分:2)
您可以使用@ViewBuilder
属性包装器:
struct CustomView<Content: View>: View {
var content: () -> Content
init(@ViewBuilder _ content: @escaping () -> Content) {
self.content = content
}
var body: some View {
VStack {
content()
}
}
}
struct ContentView: View {
var body: some View {
CustomView {
Text("hello")
Text("world")
}
}
}