sladuf
200
sladuf
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (83)
    • ๐Ÿ“š Programming (32)
      • Swift (13)
      • JAVA (2)
      • Python (6)
      • SQL (6)
      • Web (5)
    • ๐Ÿ“ฑ iOS (25)
      • Base (7)
      • SwiftUI (9)
      • UIKit (7)
      • ์ธ๊ฐ• & ์ฑ… (2)
    • ๐Ÿ”— Algorithm (20)
      • Python (12)
      • Swift (3)
      • Tip (5)
    • ๐Ÿ—‚ ETC (6)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Swift
  • ์Šค์œ„ํ”„ํŠธ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๊ธ€์“ฐ๊ธฐ ์„ค์ •
hELLO ยท Designed By ์ •์ƒ์šฐ.
sladuf

200

[SwiftUI] TabView ํŽ˜์ด์ง€ ์ด๋™์‹œ TabBar , NavigationBar Hidden ์ฒ˜๋ฆฌํ•˜๊ธฐ
๐Ÿ“ฑ iOS/SwiftUI

[SwiftUI] TabView ํŽ˜์ด์ง€ ์ด๋™์‹œ TabBar , NavigationBar Hidden ์ฒ˜๋ฆฌํ•˜๊ธฐ

2022. 8. 14. 15:17

 

 

 

 

์ผ์ฃผ์ผ ์‚ฝ์งˆํ•˜๊ณ  ์ž‘์„ฑํ•˜๋Š” ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ..

 

 

์šฐ์„  ๋‚˜๋Š” TabView์•ˆ์— NavigationView๋ฅผ ๋‹ด์•„ ํŽ˜์ด์ง€ ์ด๋™์„ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.

FirstView -> SecondView

struct ContentView: View {
    
    var body: some View {
        TabView {
            NavigationView {
                FirstView()
            }
            .tabItem {
                Text("first")
            }
        }
    }
}

struct FirstView: View {
    var body: some View {
        ZStack{
            Color.yellow
            VStack{
                Text("FirstView")
                NavigationLink {
                    SecondView()
                } label: {
                    Text("Go SecondView")
                }

            }
            
        }
        
    }
}

struct SecondView: View {
    var body: some View {
        ZStack{
            Color.green
            Text("SecondView")
        }
    }
}

 

 

 

๊ทธ๋Ÿฐ๋ฐ TabView์—์„œ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ–ˆ์„ ๋•Œ๋Š” TabBar๋ฅผ ๋ณด์ด๊ฒŒ ํ•˜๊ณ ์‹ถ์ง€ ์•Š์•˜๋‹ค.

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ๊ฑด NavigationView์˜ ๋ฒ”์œ„ !!

 

NavigationView์˜ ๋ฒ”์œ„

NavigationView๋Š” ์„ ์–ธ๋œ ๋ถ€๋ถ„๋งŒํผ์ด ๋ฒ”์œ„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ค‘๊ฐ„์—๋งŒ NavigationView๋ฅผ ์ ์šฉํ•˜๋ฉด

struct ContentView: View {
    var body: some View {
        VStack {
            Text("TopLine")
            NavigationView {
                VStack{
                    Text("์—ฌ๊ธฐ๋งŒ๋ฐ”๊พผ๋‹ค!")
                    NavigationLink {
                        Text("์—ฌ๊ธฐ๋งŒ ๋ฐ”๋€๋‹ค!")
                    } label: {
                        Text("change!")
                    }
                }
            }
            Text("BottomLine")
        }
    }
}

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. TopLine๊ณผ BottomLine์€ NavigationView๋ฐ–์— ์žˆ์œผ๋‹ˆ๊น์š”!

 

๊ทธ๋Ÿผ ์ด์ œ ์ „์ฒด ํ™”๋ฉด์„ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ชจ๋“  View๋ฅผ NavigationView์•ˆ์— ๋„ฃ์œผ๋ฉด ๋œ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๊ฒ ์ฃ ?

struct ContentView: View {
    var body: some View {
        NavigationView{
            VStack {
                Text("TopLine")
                VStack{
                    Text("์—ฌ๊ธฐ๋งŒ๋ฐ”๊พผ๋‹ค!")
                    NavigationLink {
                        Text("์—ฌ๊ธฐ๋งŒ ๋ฐ”๋€๋‹ค!")
                    } label: {
                        Text("change!")
                    }
                }
                Text("BottomLine")
            }
        }
    }
}

view์˜ ์œ„์น˜๋„ ๋‹ฌ๋ผ์ง€์ง€๋งŒ ์ด ๋ถ€๋ถ„์€ ์ง€๊ธˆ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์œผ๋‹ˆ ๋„˜์–ด๊ฐˆ๊ฒŒ์š”!

 

 

๊ทธ๋Ÿผ ์ด์ œ ์›๋ž˜ ์ฝ”๋“œ๋กœ ๋Œ์•„๊ฐ€์„œ

TabView์œ„์— NavigationView๋ฅผ ์„ ์–ธํ•œ๋‹ค๋ฉด ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ–ˆ์„ ๋•Œ TabBar๊ฐ€ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!

struct ContentView: View {
    
    var body: some View {
        NavigationView{
            TabView {
                FirstView()
                    .tabItem {
                        Text("first")
                    }
            }
        }
    }
}

 

 

๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ๋˜ ๋งˆ์Œ์— ์•ˆ๋“œ๋Š” ์ ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. NavigationView๋ฅผ ์“ธ ๋•Œ๋งˆ๋‹ค ์• ๋จน์ด๋Š” TitleBar..

 

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” .navigationBarHidden(ture)์„ ์‚ฌ์šฉํ•ด์„œ ์œ— ๋ถ€๋ถ„์„ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์ž–์•„์š” ?

 

struct ContentView: View {
    
    var body: some View {
        NavigationView{
            TabView {
                FirstView()
                    .navigationBarHidden(true)
                    .tabItem {
                        Text("first")
                    }
            }
            .navigationBarHidden(true)
        }
    }
}

ํ•˜์ง€๋งŒ ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์–ด๋””์— ๋‹ฌ์•„๋„ TitleBar๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” ์ด์Šˆ ๋ฐœ์ƒ..

 

NavigationTitleBar Hidden

์ง‘๋…์˜ K-๊ฐœ๋ฐœ์ž๋Š” ์ด๊ฒƒ์ €๊ฒƒ ์‹œ๋„ํ•ด๋ณด๊ณ  ๋“œ๋””์–ด ํ•ด๊ฒฐ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ๋ฒ•์€ hidden ์ „์— .navigationTitle ์ž‘์„ฑํ•˜๊ธฐ !

์ค‘์š”ํ•œ๊ฑด TabView๊ฐ€ ์•„๋‹ˆ๋ผ View์— ๋‹ค ๋‹ฌ์•„์ค˜์•ผ ํ•œ๋‹ค๋Š”๊ฑฐ..!

struct ContentView: View {
    
    var body: some View {
        NavigationView{
            TabView {
                FirstView()
                    .navigationTitle("title") // ""์•ˆ์— ์–ด๋–ค๋‚ด์šฉ์ด๋“  hidden์ฒ˜๋ฆฌ๋จ
                    .navigationBarHidden(true)
                    .tabItem {
                        Text("first")
                    }
            }
        }
    }
}

์™œ ์ €๋ ‡๊ฒŒ ํ•ด์•ผํ•ด?

NavigationView๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ”๊ฐ€ ๋ฌด์กฐ๊ฑด ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ ํ•ด์š”!

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— navigationTitle("")์„ ํ˜ธ์ถœํ•ด์„œ ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ”๋ฅผ ๋งŒ๋“ค๊ณ  hidden์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”๊ฑฐ ๊ฐ™์•„์š”ใ… ใ… 

 


ํ•˜์ง€๋งŒ..!!

 

iOS 16 ์ดํ›„๋ถ€ํ„ฐ๋Š” NavigationView๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด์„œ navigationBarHidden๋„ ์‚ฌ๋ผ์ง„๋‹ต๋‹ˆ๋‹ค ใ…Žใ…Ž~

์ œ๋ฐœ ๋ˆ„๊ฐ€ SwiftUI ์—…๋ฐ์ดํŠธ์ข€ ๋ง‰์•„์ค˜ ~~ ๐Ÿ˜ต‍๐Ÿ’ซ

 


2022.12.09 ์—…๋ฐ์ดํŠธ

 

iOS 16์ด ๋‚˜์˜ค๊ณ  ์—…๋ฐ์ดํŠธ ๋˜์–ด ๋”์ด์ƒ navigationBarHidden()์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋˜์—ˆ์–ด์š”..!

๋Œ€์‹  toolbar(.hidden)์„ ์‚ฌ์šฉํ•ด์„œ ๋™์ผํ•œ ๋™์ž‘์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ˜บ๏ธ

๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋„ ์ด์ œ๋Š” ๋นˆ๊ณต๊ฐ„์ด ์ƒ๊ธฐ์ง€ ์•Š๋Š”๋‹ต๋‹ˆ๋‹ค!!

 

 

 

์ €์ž‘์žํ‘œ์‹œ

'๐Ÿ“ฑ iOS > SwiftUI' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SwiftUI] @State๋ฅผ ๊ฐ€์ง€๋Š” View์˜ ์—…๋ฐ์ดํŠธ  (0) 2022.10.29
[SwiftUI] NavigationLink์˜ isActive ๊ณต์œ  ์ด์Šˆ & ํ•ด๊ฒฐ  (0) 2022.08.19
๋””๋ฐ”์ด์Šค ํ™”๋ฉด๊ณ ์ • portrait only  (0) 2022.07.25
[SwiftUI] Grid์†์„ฑ  (0) 2022.07.05
URLSession์„ ํ†ตํ•ดJSON ๊ฐ€์ ธ์˜ค๊ธฐ (2)  (0) 2022.07.04
    '๐Ÿ“ฑ iOS/SwiftUI' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [SwiftUI] @State๋ฅผ ๊ฐ€์ง€๋Š” View์˜ ์—…๋ฐ์ดํŠธ
    • [SwiftUI] NavigationLink์˜ isActive ๊ณต์œ  ์ด์Šˆ & ํ•ด๊ฒฐ
    • ๋””๋ฐ”์ด์Šค ํ™”๋ฉด๊ณ ์ • portrait only
    • [SwiftUI] Grid์†์„ฑ
    sladuf
    sladuf

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”