Ios 在SwiftUI中显示/隐藏点击时的导航栏和选项卡栏手势?
我试图在点击视图时显示/隐藏我的导航栏和我的选项卡栏 我有一个我想点击的背景视频,然后导航栏和选项卡栏应该消失,如果我再次点击,导航栏和选项卡应该重新出现 我目前甚至无法隐藏导航栏 我使用以下代码:Ios 在SwiftUI中显示/隐藏点击时的导航栏和选项卡栏手势?,ios,swift,swiftui,Ios,Swift,Swiftui,我试图在点击视图时显示/隐藏我的导航栏和我的选项卡栏 我有一个我想点击的背景视频,然后导航栏和选项卡栏应该消失,如果我再次点击,导航栏和选项卡应该重新出现 我目前甚至无法隐藏导航栏 我使用以下代码: struct FirstView: View { var body: some View { NavigationView { ZStack { PlayerView() .e
struct FirstView: View {
var body: some View {
NavigationView {
ZStack {
PlayerView()
.edgesIgnoringSafeArea(.all)
.onTapGesture(count: 1) {
print("tapped!")
self.navigationBarHidden(true)
self.navigationBarTitle("", displayMode: .inline)
self.edgesIgnoringSafeArea([.top, .bottom])
}
}
}
}
}
我尝试使用的基本代码如下:
.onTapGesture(count: 1) {
print("tapped!")
self.navigationBarHidden(true)
self.navigationBarTitle("", displayMode: .inline)
self.edgesIgnoringSafeArea([.top, .bottom])
}
以上代码将打印点击但它不会隐藏任何东西
我在这里遗漏了什么?您需要有状态才能隐藏导航栏,类似这样的东西
struct FirstView: View {
@State private var hideNavigationBar = false
var body: some View {
NavigationView {
ZStack {
PlayerView()
.edgesIgnoringSafeArea(.all)
.onTapGesture(count: 1) {
print("tapped!")
self.hideNavigationBar.toggle()
}
}
.navigationBarHidden(hideNavigationBar)
.navigationBarTitle("", displayMode: .inline)
.edgesIgnoringSafeArea([.top, .bottom])
}
}
}
为了隐藏导航栏,您需要有状态,类似这样的东西
struct FirstView: View {
@State private var hideNavigationBar = false
var body: some View {
NavigationView {
ZStack {
PlayerView()
.edgesIgnoringSafeArea(.all)
.onTapGesture(count: 1) {
print("tapped!")
self.hideNavigationBar.toggle()
}
}
.navigationBarHidden(hideNavigationBar)
.navigationBarTitle("", displayMode: .inline)
.edgesIgnoringSafeArea([.top, .bottom])
}
}
}
由于某些原因,这仅显示/隐藏导航栏!选项卡栏不显示/隐藏\由于某些原因,这仅显示/隐藏导航栏!选项卡栏不显示/隐藏\