@ViewBuilder

SwiftUI

クロージャーからビューを作成できるパラメータ

@ViewBuilderを使用すると、複数のビューをクロージャーを使って作成できる

クロージャーを使って抽象化しているため、使う人が自由に実装できる

使い方

appleのリファレンスから引用

// MenuItemsは、Viewプロトコルに準拠していること
// Viewプロトコルに準拠していれば、@ViewBuilderで複数のビューを返却できる
func contextMenu<MenuItems: View>(
    // メニュー項目は、使う人が自由に実装できる
    @ViewBuilder menuItems: () -> MenuItems
) -> some View

// 使用例
myView.contextMenu {
    // メニュー項目を設定
    Text("Cut")
    Text("Copy")
    Text("Paste")
    if isSymbol {
        Text("Jump to Definition")
    }
}

コメント

タイトルとURLをコピーしました