SwiftUI: Ako volať funkciu k naplneniu LazyVGrid

0

Otázka

Pracujem na niektoré kód v SwiftUI (učenie, ako som ísť), kde som stavbe vertikálne ikony položiek (To je výrazne zjednodušené pre účely tejto otázke):

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

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

Tak som si niečo ako toto:

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

Teraz v mojom kóde som robiť nejaké iné veci, tak by som rád vybrať funkciu tak, môj kód vyzerá takto:

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

Ale ja som zistil, že je ťažké vidieť, ako na to. Má funkcia vrátiť pole? alebo je tam nejaký aspekt Swift je stavitelia môžem použiť tu? Snažil som sa rad ale LazyVGrid"s stavať sa nepáčilo to.

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

Najlepšiu odpoveď

3

Výskum @ViewBuilder atribút. To je funkcia správať ako uzavretie ste absolvovanie LazyVGrid a mnoho SwiftUI Názory.

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

Samozrejme. Ďakujem.
drekka

V iných jazykoch

Táto stránka je v iných jazykoch

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