SwiftUI: Comment appeler une fonction à remplir un LazyVGrid

0

La question

Je suis en train de travailler sur un code dans SwiftUI (apprentissage comme je l'aller) où je suis de la construction d'une grille verticale de points (Ce qui est fortement simplifiée pour les besoins de cette question):

let col1 = GridItem(alignment: .leading)
let col2 = GridItem(alignment: .trailing)

LazyVGrid(columns: [col1, col2]) {
    Text("C1")
    Text("C1")
    Text("C2")
    Text("C2")
}

Si je reçois quelque chose comme ceci:

+----+----+
| C1 | C1 |
+----+----+
| C2 | C2 |
+----+----+

Maintenant, dans mon code je fais d'autres trucs donc je voudrais extraire une fonction donc mon code ressemble à ceci:

let col1 = GridItem(alignment: .leading)
let col2 = GridItem(alignment: .trailing)

LazyVGrid(columns: [col1, col2]) {
    row("C1")
    row("C2")
}

func row(text: String) -> ???? {
    Text(text)
    Text(text)
}

Mais j'ai du mal à voir comment le faire. La fonction retourne un tableau? ou est-il un aspect de Swift constructeurs je peux utiliser ici? J'ai essayé un tableau, mais LazyVGrid's de construction n'aimais pas ça.

swiftui
2021-11-23 14:44:00
1

La meilleure réponse

3

La recherche de la @ViewBuilder attribut. Cela rend la fonction se comporte comme la fermeture de la vous êtes de passage à LazyVGrid et beaucoup de SwiftUI points de Vue.

@ViewBuilder
func row(text: String) -> some View {
    Text(text)
    Text(text)
}
2021-11-23 15:17:52

Bien sûr. Je vous remercie.
drekka

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................