HIT해

[SwiftUi] 탭바 안보이게하기 본문

Swift/Swift 개발 노트

[SwiftUi] 탭바 안보이게하기

힛해 2024. 3. 12. 13:25
728x90

 

네비게이션링크로 넘어가도 탭바가 계속 보이는 경우가 있다.

 

해결방법 : 탭바를 네비게이션뷰로 묶고 탭바 안의 뷰들을 네비게이션뷰로 감싼것을 지워주면 해결된다.

 

Before 탭바가 안숨겨지는 경우의 코드

struct ContentView: View {
    @State private var selectedTab = "홈"
    
    var body: some View {
            TabView(selection: $selectedTab) {
                HomeView().tabItem {
                    Label("홈", systemImage: "house")
                }
                .tag("홈")
                
                BookmarkView()
                    .tabItem {
                        Label("북마크", systemImage: "bookmark")
                    }
                    .tag("북마크")
            }.tint(Color(hex: "93C73D"))
    }
}

 

HomeView

NavigationView{
	VStack{
                Spacer()
                // 상권지도 컴포넌트
                NavigationLink (destination: ChooseBorough()) {
...

 

After 탭바 숨긴 경우

struct ContentView: View {
    @State private var selectedTab = "홈"
    
    var body: some View {
        NavigationView{
            TabView(selection: $selectedTab) {
                HomeView().tabItem {
                    Label("홈", systemImage: "house")
                }
                .tag("홈")
                
                BookmarkView()
                    .tabItem {
                        Label("북마크", systemImage: "bookmark")
                    }
                    .tag("북마크")
            }.tint(Color(hex: "93C73D"))
        } // NavigationView
        
    }
}

 

HomeView

VStack{
                Spacer()
                // 상권지도 컴포넌트
                NavigationLink (destination: ChooseBorough()) {
...

 

이렇게 하면 깔끔하게 해결된다!!