Usare il container Grid in SwiftUI

Mattepuffo's logo
Usare il container Grid in SwiftUI

Usare il container Grid in SwiftUI

Per creare dei grtid layout in SwiftUI abbiamo il container Grid.

Come potete vedere dalla documentazione, abbiamo anche dei container più "specifici" per layout orizzontali o verticali.

In questo articolo vediamo un esempio basico del container Grid tralasciando gli altri.

Qui sotto un pò di codice Swift:

import SwiftUI

struct Libro: Identifiable {
    let id = UUID()
    var titolo: String
    var autore: String
    var prezzo: Double
}

func creaLista() -> Array<Libro> {
    var list: Array<Libro> = Array();
    list.append(Libro(titolo: "IT", autore: "Stephen King", prezzo: 120.33))
    list.append(Libro(titolo: "Sahara", autore: "Clive Cussler", prezzo: 10.00))
    list.append(Libro(titolo: "Artemis - la prima città sulla luna", autore: "Andy Weir", prezzo: 50.99))
    return list
}

struct ContentView: View {
    @State private var libri = creaLista()
    
    var body: some View {
        Grid(alignment: .leading, horizontalSpacing: 10, verticalSpacing: 10) {
            ForEach(libri) { item in
                GridRow(alignment: .firstTextBaseline) {
                    Text(item.titolo)
                    Text(item.autore)
                    Text(item.prezzo.formatted())
                }
                Divider()
            }.padding(10)
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Ho messo tutto il codice insieme per comodità, ma sarebbe meglio dividere la parte del layout da quella dei dati.

Enjoy!


Condividi

Commentami!