Nous allons créer une vue pour afficher les informations d’un objet. Cette vue doit être appelée lors du clique sur un objet de la liste.
LootDetailView.swift de type SwiftUI ViewMaintenant, au lieu d’utiliser une sheet pour afficher la vue, nous allons utiliser une NavigationLink pour naviguer vers la vue de détail :
// ContentView
ForEach(inventory.items) { item in
NavigationLink {
LootDetailView(item: item) // On passe directement l'item à la vue
} label: {
// Votre vue d'une ligne d'item
}
}
Intégrer l’interface suivante dans votre vue détail :
| Item “normal” | Item “unique” |
|---|---|
![]() | ![]() |
On doit voir apparaitre les informations suivantes :
Si l’image du jeu existe :
Si l’image du jeu n’existe pas voici la vue à afficher :

.gray avec un .gradient et une opacité de 0.4.Image(systemName: "rectangle.slash") en .black avec une opacité de 0.4.padding de l’icone, pour que cela ressemble à l’image ci-dessus.La couleur de fond de la vue doit être la couleur de la rareté de l’objet, idem pour l’ombre de l’image de l’objet, dans l’exemple : “Légendaire” est de couleur orange, donc la couleur de fond de la vue est orange, et l’ombre de l’image est jaune.
🔥 Si vous avez ajouter des propriétés à votre modèle, pensez à les afficher également
Ajoutez des images dans XCode puis liez les images à l’énum du type d’objet, enfin au lieu d’afficher l’émoji du type, afficher l’image correspondante, grâce à une fonction dans l’énum et à un Image("nomDeLimage") dans la vue.