SwiftUI: Cum de a apela o funcție pentru a popula un LazyVGrid

0

Problema

Lucrez la un cod în SwiftUI (învățare ca merg) în cazul în care sunt construirea o grilă verticală de articole (Acest lucru este foarte mult simplificată pentru scopuri de această întrebare):

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

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

Așa că am obține ceva de genul asta:

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

Acum în codul meu fac alte chestii asa ca as vrea sa extras o funcție atât de codul meu arata ceva de genul asta:

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)
}

Dar mi-e greu să văd cum se face. Nu-funcția întoarce o matrice? sau există un aspect al lui Swift constructori pot folosi aici? Am încercat o serie dar LazyVGridmodelului construi nu-mi place.

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

Cel mai bun răspuns

3

Cercetare @ViewBuilder atribut. Acest lucru face ca funcția să se comporte ca închiderea esti in trecere la LazyVGrid și multe dintre SwiftUI Vedere.

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

Desigur. Multumesc.
drekka

În alte limbi

Această pagină este în alte limbi

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