У меня есть ContentView
, содержащий NavigationView
, что приводит к DestinationView
. Я хочу скрыть панель навигации в ContentView
, но показать ее в DestinationView
. Чтобы скрыть это в ContentView
, я устанавливаю navigationBarHidden
в true
и даю navigationBarTitle
пустую строку. В DestinationView
я устанавливаю navigationBarHidden
в значение false и присваиваю ему название «DestinationView».
Если я запускаю проект и нажимаю на NavigationLink
, DestinationView
показывает NavigationBar
, но быстро скрывает это после того, как вид появился. Кто-нибудь может мне помочь с этим?
struct ContentView: View {
var body: some View {
NavigationView {
ZStack {
Color.red.frame(maxWidth: .infinity, maxHeight: .infinity)
NavigationLink(destination: DestinationView()) {
ZStack {
Color.green.frame(width: 200, height: 200)
Text("Tap me")
}
}
}
.navigationBarTitle("")
.navigationBarHidden(true)
}
}
}
struct DestinationView: View {
var body: some View {
List {
Text("1")
Text("2")
}
.navigationBarTitle("DestinationView")
.navigationBarHidden(false)
}
}