Je suppose que ce pourrait être un bogue dans la version bêta 3 car la NavigationView est tout cassée. Mais une vue comme ça:
struct GenreBadge : View {
@EnvironmentObject var store: Store<AppState>
let genre: Genre
var body: some View {
NavigationLink(destination: MoviesGenreList(genre: genre).environmentObject(store)) {
RoundedBadge(text: genre.name)
}
}
}
ne déclenche aucun Push dans la pile de navigation. La vue ne semble pas du tout interactive. Si quelqu'un trouve une solution de contournement, ce serait bien, à moins que Apple documente ce comportement, je le considérerais comme cassé jusqu'à la bêta 4.
Il semble y avoir un bug avec le lien de navigation dans Xcode version 11.3 (11C29) que j'ai signalé à Apple.
Remarque: Ce problème n'apparaît que dans le simulateur. Il fonctionne très bien sur un appareil réel. Merci à @djr
Le code ci-dessous fonctionne comme prévu la première fois que vous utilisez le lien de navigation. Malheureusement, il ne répond plus la deuxième fois.
import SwiftUI
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: SomeView()) {
Text("Hello!")
}
}
}
}
}
struct SomeView: View {
var body: some View {
Text("Detailed View")
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Êtes-vous réellement dans un NavigationView? Les œuvres suivantes. Mais si j'ai raté votre propos, vous pouvez peut-être partager un peu plus de code.
import SwiftUI
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: SomeView()) {
Text("Go!")
}
}
}
}
}
struct SomeView: View {
var body: some View {
Text("Detailed View Here!")
}
}
Essaye ça:-
var body: some View {
NavigationView {
NavigationButton(destination: YourView()) {
Text("Go!")
}
}
}
NavigationLink
Un bouton qui déclenche une présentation de navigation lorsqu'il est pressé. Il s'agit d'un remplacement pour pushViewController
NavigationView {
NavigationLink(destination:
Text("Detail")
.navigationBarTitle(Text("Detail"))
) {
Text("Push")
}.navigationBarTitle(Text("Master"))
}
Ou rendez-le plus lisible en utilisant la destination du groupe dans sa propre vue DetailView
NavigationView {
NavigationLink(destination: DetailView()) {
Text("Push")
}.navigationBarTitle(Text("Master"))
}