Usare il NavigationSplitView in SwiftUI

Mattepuffo's logo
Usare il NavigationSplitView in SwiftUI

Usare il NavigationSplitView in SwiftUI

SwiftUI ci mette a disposizione il componente NavigationSplitView per dividere la nostra schermata in due o tre colonne, dove ce ne è una che a fa capo di tutte.

Su macOS si presenta esattamente come ce lo immaginiamo: una colonna sulla sinistra con le nostre voci, e una colonna a destra che mostra il contenuto di quello che abbiamo cliccato.

Su iOS, invece, si presenta come un lista che rimanda ad un'altra schermata con il tasto Back per tornare indietro.

Questo esempio si riferisce ad una app multipiattaforma, quindi già pensata per funzionare su entrambi:

import SwiftUI

struct ContentView: View {
    @State private var selection: String? = nil
    
    let libri = ["IT", "Sahara", "Cose preziose"]
    
    var body: some View {
        NavigationSplitView {
            List(libri, id: \.self, selection: $selection) { libro in
                NavigationLink (libro.description, value: libro)
            }
        } detail: {
            if let item = selection {
                Text(item)
            } else {
                Text("Seleziona un libro")
            }
        }
    }
}

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

Enjoy!


Condividi

Commentami!