Les Listes en SwiftUI

Introduction aux Listes

Les listes en SwiftUI constituent des conteneurs à une colonne qui affichent verticalement une collection d'éléments. Elles sont idéales pour représenter des ensembles d'items homogènes, comme un menu de restaurant ou une liste de tâches.

Création de Listes

SwiftUI propose plusieurs méthodes pour créer des listes. Pour établir une liste statique avec un nombre de lignes défini, on utilise la structure List. Voici un exemple :

struct ListExample: View {
    var body: some View {
        List {
            Text("Élément 1")
            Text("Élément 2")
            Text("Élément 3")
        }
    }
}

Listes Dynamiques

Pour créer une liste dynamique, il est essentiel de disposer de données qui la peuplent. Ces données peuvent être stockées dans un tableau. Par exemple, un tableau contenant les plats d'un menu peut être défini ainsi :

var menu = ["Entrée", "Plat Principal", "Dessert"]

Rendre les Données Identifiables dans une Liste

Pour rendre les éléments d'une liste identifiables, on peut attribuer une propriété id à chaque item. Une méthode consiste à utiliser la propriété id avec .self dans une boucle ForEach, comme illustré ici :

ForEach(menu, id: \.self) { course in
    Text(course)
}

Personnalisation des Listes

Pour modifier l'apparence d'une liste, on peut appliquer des modificateurs tels que .listStyle(). Voici un exemple où .listStyle(GroupedListStyle()) est utilisé pour agencer les items :

import SwiftUI

struct MenuView: View {
    var menu = ["Entrée", "Plat Principal", "Dessert"]
    var body: some View {
        List(menu, id: \.self) { section in
            Section(header: Text(section)) {
                // Ajoutez le contenu de votre section ici, par exemple :
                Text("Élément 1")
                Text("Élément 2")
            }
        }
        .listStyle(GroupedListStyle())
    }
}