如何在swiftUI中登录页面后隐藏导航栏
我不希望我的登录页面和主页显示导航栏,但我需要在注册页面和忘记密码页面中进行导航。我使用.navigationBarHidden(self.isNavigationBarHidden)来控制我的导航栏 主页上有一个tabView,有些tabItemView有自己的NavigationView。 似乎我的应用程序顶部有一个块。当我跳到一张纸上,回到主页上时,空白消失了。 这是我这期的视频。 这是我的主页如何在swiftUI中登录页面后隐藏导航栏,swiftui,swiftui-navigationlink,Swiftui,Swiftui Navigationlink,我不希望我的登录页面和主页显示导航栏,但我需要在注册页面和忘记密码页面中进行导航。我使用.navigationBarHidden(self.isNavigationBarHidden)来控制我的导航栏 主页上有一个tabView,有些tabItemView有自己的NavigationView。 似乎我的应用程序顶部有一个块。当我跳到一张纸上,回到主页上时,空白消失了。 这是我这期的视频。 这是我的主页 struct MainView: View { @State var selectedtab
struct MainView: View {
@State var selectedtab:Int = 1
@Binding var isNavigationBarHidden : Bool
var body: some View {
TabView (selection: $selectedtab){
UserInformationView()
.tabItem {
Image(systemName: "person.fill")
}.tag(0)
.navigationBarTitle("Main")
.navigationBarHidden(true)
TeamListView()
.tabItem {
Image(systemName: "person.3.fill")
}.tag(1)
.navigationBarTitle("Main")
.navigationBarHidden(true)
NotificationView()
.tabItem {
Image(systemName: "bell.fill")
}.tag(2)
.navigationBarTitle("Main")
.navigationBarHidden(true)
SettingView()
.tabItem {
Image(systemName: "list.bullet")
}.tag(3)
.navigationBarTitle("Main")
.navigationBarHidden(true)
}
.navigationBarTitle("Main")
.onAppear(perform: {
self.isNavigationBarHidden = true
})
}
}
带有NavigationView的我的选项卡项视图之一
struct TeamListView: View {
var tutors: [Tutor] = teamData
// var teams: [Team]?
@Environment(\.presentationMode) var presentationMode
@EnvironmentObject var userToken : UserToken
@State var showingDelete = false
@State var teamListFloatingButtonShow = false
@State var goToCreateTeam = false
@State var goToInputInvitionCode = false
@State var addMenuIsPresented: Bool = false
@State var creatTeamIsPresented: Bool = false
@State var teamResults : [TeamResult] = []
var body: some View {
NavigationView {
.....
}
.onAppear(perform: getTeamData)
}
我认为这可以通过在
ZStack
中分离TabView
和NavigationView
来解决,而不是尝试将它们放在另一个选项卡上。中的方法显示了如何连接这些分离的容器,应该会很有帮助。尝试以下方法:我假设可以通过在ZStack
中分离TabView
和NavigationView
来解决此问题,而不是尝试将其放入另一个容器中。中的方法显示了如何连接这些分离的容器,应该会有所帮助。请尝试以下方法:
struct TeamListView: View {
var tutors: [Tutor] = teamData
// var teams: [Team]?
@Environment(\.presentationMode) var presentationMode
@EnvironmentObject var userToken : UserToken
@State var showingDelete = false
@State var teamListFloatingButtonShow = false
@State var goToCreateTeam = false
@State var goToInputInvitionCode = false
@State var addMenuIsPresented: Bool = false
@State var creatTeamIsPresented: Bool = false
@State var teamResults : [TeamResult] = []
var body: some View {
NavigationView {
.....
}
.onAppear(perform: getTeamData)
}