ViewBuilder
A custom parameter attribute that constructs views from closures.
Declaration
@resultBuilder struct ViewBuilderMentioned in
Overview
You typically use ViewBuilder as a parameter attribute for child view-producing closure parameters, allowing those closures to provide multiple child views. For example, the following contextMenu function accepts a closure that produces one or more views via the view builder.
func contextMenu<MenuItems: View>(
@ViewBuilder menuItems: () -> MenuItems
) -> some ViewClients of this function can use multiple-statement closures to provide several child views, as shown in the following example:
myView.contextMenu {
Text("Cut")
Text("Copy")
Text("Paste")
if isSymbol {
Text("Jump to Definition")
}
}