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!
swift swiftui navigationsplitview list
Commentami!