SwiftUI๋ฅผ ํ์ฉํด์ ์ฒซ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋, ์๊ทผํ ๊ฐ๋จํ์ง๋ง ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ ๋ ์ด์๊ฐ ๋ฐ๋ก ํด๋น ์ด์์๋ค. Navigation bar๊ฐ ๊ณ์ ์์ธ๋ค..? ๋ผ๊ณ ๊ฒ์ํ ์๋ ์๊ณ , ์ฒ์ swfit๋ฅผ ์ ํ๋ ์ฌ๋์ผ๋ก์จ ํด๊ฒฐํ๊ธฐ ์กฐ๊ธ ๋ฒ๊ฑฐ์ ๋! ๊ตฌ๊ธ๋ง๋ ํ๋ค์๋ ๋ฌธ์ .
โ ๏ธ ์ด์์ฌํญ
- ์๋ ์ฌ์ง์ฒ๋ผ, navigationLink ์ผ๋ก ๋ฒํผ์ ๋ง๋ค์ด์ View๊ฐ์ ์ด๋์ ํ๊ฒ ๋๋ฉด, ๋๋ฒ์งธ๋ ๊ด์ฐฎ์ง๋ง, ์ธ๋ฒ์งธ๋ถํฐ navigationbar๊ฐ ์์ด๊ฒ ๋๋ค.
- NavigationBarHidden(true) ์ ํ๋ฉด ๋ ์ค ์์์ง๋ง, ๋์ง ์๋๋ค.
1. ContentView - ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ํ์ด์ง ์ฝ๋
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
Text("This is Main page.")
.bold()
NavigationLink(destination: SecondPage()) {
Text("Click Here")
.foregroundColor(Color.white)
.frame(width: 100, height: 60, alignment: .center)
.background(RoundedRectangle(cornerRadius: 10)
.fill(Color.red))
}
.navigationBarHidden(true)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
2. SecondPage - ๋๋ฒ ์งธ ํ๋ฉด์ ์ฝ๋
import SwiftUI
struct SecondPage: View {
var body: some View {
NavigationView {
VStack{
Text("This is Second Page.")
NavigationLink(destination: ThirdPage()) {
Text("Click Here")
.foregroundColor(Color.white)
.frame(width: 100, height: 60, alignment: .center)
.background(RoundedRectangle(cornerRadius: 10)
.fill(Color.green))
}
.navigationBarHidden(true)
}
}
}
}
struct SecondPage_Previews: PreviewProvider {
static var previews: some View {
SecondPage()
}
}
3. ThirdPage - ๋ง์ง๋ง ํ๋ฉด์ ์ฝ๋
import SwiftUI
struct ThirdPage: View {
var body: some View {
Text("This is Last Page.")
}
}
struct ThirdPage_Previews: PreviewProvider {
static var previews: some View {
ThirdPage()
}
}
๐ ์ด๋ ๊ฒ ํ๋ฉด ์๋๋ ์ด์
- NavigationView๋ฅผ NavigationLink ๊ฐ ์๋ ๋ชจ๋ ํ์ด์ง์ ๊ฑธ์ด์ฃผ์๋ค.
- NavigationView ๋ก ๋ฌถ์ฌ์์ด๋ง, View ์ ํ์ด ๊ฐ๋ฅํ ์ค ์์๊ธฐ ๋๋ฌธ์ด๋ค.
NavigationView๊ฐ ๊ณ์ ํด์ ์์ด๊ธฐ ๋๋ฌธ์ ์์ navigation bar ๋ ๊ณ์ ์์ด๋ ๊ฒ์ด๋ค!
ํด๊ฒฐ ๋ฐฉ๋ฒ์, NavigationView๋ฅผ NavigationView๊ฐ ์์๋๋ ๋ถ๋ถ์๋ง ๊ฑธ์ด์ฃผ๊ณ , ๊ทธ ์ดํ์ ํ๋ฉด์ ๊ฑธ์ง ์์๋ ๋๋ค. ๊ทธ๋๊น ์ ์ฝ๋์์ SecondPage์์ NavigationView ์ฝ๋๋ฅผ ๋นผ๋ฉด ๋๋ค.
SecondPage ์์ ๋ฒ์
import SwiftUI
struct SecondPage: View {
var body: some View {
VStack{
Text("This is Second Page.")
NavigationLink(destination: ThirdPage()) {
Text("Click Here")
.foregroundColor(Color.white)
.frame(width: 100, height: 60, alignment: .center)
.background(RoundedRectangle(cornerRadius: 10)
.fill(Color.green))
}
.navigationBarHidden(true)
}
}
}
struct SecondPage_Previews: PreviewProvider {
static var previews: some View {
SecondPage()
}
}
์ต์ข ํ๋ฉด์ ์๋์ ๊ฐ๋ค.
์ฒ์์ ๊ฐ๋ฐ์ ํ ๋ ์ด ๋ฌธ์ ๋ก ํค๋งธ๋ ๊ฒฝํ์ด ์๋ค. ์๊ฐ๋ณด๋ค ๊ฐ๋จํ ๋ฌธ์ ๋ฐ ๋ญ๋ผ๊ณ ๊ฒ์ํด์ผํ ์ง๋ชฐ๋์๋ค. ์์ผ๋ก ์ํด์ผ์ง~