[英]How do I make a reusable SwiftUI View with a body I can fill in like List?
我想制作一个通用的SwiftUI视图,可以将其插入和插入控件。 我不仅希望传递数据,还希望像您一样将子视图传递给List
这样:
List{
Text("This works")
Text("Hello World")
Text("This works")
}
MyClass {
Text("This works")
Text("Hello World")
Text("This works")
}
这可能吗? 如果是这样,我将如何声明该类?
您可以使用@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")
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.