【发布时间】:2019-10-25 04:57:54
【问题描述】:
SwiftUI 中的一些视图,如 VStack 和 HStack 支持将多个视图作为子视图,如下所示:
VStack {
Text("hello")
Text("world")
}
据我所知,他们使用ViewBuilder 使这成为可能,正如here 所解释的那样。
我们如何使用@ViewBuilder 来创建我们自己的支持多个孩子的视图?例如,假设我想创建一个接受任意子级的Layout 视图——如下所示:
struct Layout : View {
let content: Some View
var body : some View {
VStack {
Text("This is a layout")
content()
}
}
}
知道如何在 SwiftUI 中实现这种模式吗?
【问题讨论】: