Я использовал по умолчанию navigation bar
(потому что у него есть возможность разрешить смахивание, чтобы закрыть представление), но поскольку моя проблема заключается в hide
NavBar
в RootView
и show
, когда он пропадает после перехода к ChildView
, я столкнулся с проблемой с моим ChildView
(он подпрыгивает вверх и вниз после манипуляций с навигационной панелью). Следовательно, мне нужен custom NavBar
(отлично было бы с возможностью делать смахивания, чтобы скрыть его.)
Здесь вы можете увидеть мой код и проблему с NavBar , которая была решена и вызвала тот, который вы читаете.
My RootView
struct ExploreView: View {
var body: some View {
ZStack{
VStack{
HStack{
NavigationLink(destination: MessagesView()){
Image("messages")
}
}
}
}
}.navigationBarTitle(Text(""), displayMode: .inline)
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
}
}
ChildView #
struct MessagesView: View {
@Environment(\.presentationMode) var presentationMode
var btnBack : some View {
Button(action: {
self.presentationMode.wrappedValue.dismiss()
}) {
Image(systemName: "chevron.left")
.font(.title)
}
}
var body: some View {
ZStack{
VStack{
Spacer()
HStack {
btnBack
.padding(.leading, 10)
Spacer()
Button(action:{
self.show.toggle()
},label: {
Image("writemessage")
.foregroundColor(Color("blackAndWhite"))
}
)
}
}
.navigationBarBackButtonHidden(true)
.navigationBarHidden(true)
}
}