J'apprends SwiftUI
Utiliser le tutoriel officiel d'Apple: https://developer.apple.com/tatudials/swiftui/building-lists-and-navigation
Tout fonctionne parfaitement jusqu'à ce que j'essaie de montrer le titre de navigation sur un NavigationView
en appelant .navigationBarTitle
.
J'ai essayé d'actualiser la vue en direct, redémarrez Xcode, mais cela ne se présente toujours pas.
voici mon code:
import SwiftUI
struct LandmarkList : View {
var body: some View {
NavigationView {
List(landmarkData) { landmark in
LandmarkRow(landmark: landmark)
}
}
.navigationBarItem(title: Text("Done"))
.navigationBarTitle(Text("Landmarks"))
}
}
#if DEBUG
struct LandmarkList_Previews : PreviewProvider {
static var previews: some View {
LandmarkList()
}
}
#endif
Le Xcode ressemble à ceci:
Selon le didacticiel, il devrait montrer le titre de navigation mais cela ne l'a pas dans mon cas.
Une idée pourquoi? Merci!
NavigationView
est juste un conteneur autour de certains contenus. Les contenus changent lorsque vous naviguez de la page à la page, mais le NavigationView
persiste.
Le point est que NavigationView
montre chaque contenu view
quand il le montre. Donc, cela va encapsuler avec la destination.
Enfin, vous devez ajouter tous les modificateurs de navigation à l'intérieur de la navigation (sur le contenu)
struct Content: View {
var body: some View {
Text("Some. content")
.navigationBarItem(title: Text("Done"))
.navigationBarTitle(Text("Landmarks"))
}
}
struct Parent: View {
var body: some View {
NavigationView {
Content() // This contains navigation modifiers inside the view itself
}
}
}