[Swift] SwftUI - Navigation
[Swift] SwftUI - Navigation
NavigationView -> NavigationStack
- 뷰들의 관계를 push와 pop을 통해 계층 관계를 이루게끔 하는 뷰
- (수평 관계는 TabView로 사용)
- 네비게이션 가장 상위 구조
- 화면 상단에 네비게이션 바 생성
ios 16.0 부터 NavigationVIew는 Deprecated
-> ios 16.0 부터 NavigationStack 사용
## NavvigationStack 중첩 문제
- NavigationStack을 중첩해서 사용하면 이런식으로 뷰가 겹쳐서 보임
- NavigationStack은 최상위 계층에서 한번만 선언해주면 됨
NavigationLink
- navigationLink로 View 전환 가능, 탭했을 때 지정된 view로 이동
- destination 매개변수로 이동할 뷰 지정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct ContentView: View {
var body: some View {
NavigationView {
List {
NavigationLink(destination: DetailView(item: "Item 1")) {
Text("Item 1")
}
NavigationLink(destination: DetailView(item: "Item 2")) {
Text("Item 2")
}
NavigationLink(destination: DetailView(item: "Item 3")) {
Text("Item 3")
}
}
.navigationTitle("Item List")
}
}
}
NavigationSplitView
- 자주 보이는 목록같은 뷰 만들 때 쓰는거
UI 예시
코드구조
1
2
3
4
5
6
7
8
NavigationSplitView(columnVisibility: $visibility,
preferredCompactColumn: $columns) {
// 사이드 바 영역
} content: {
// 컨텐트 영역
} detail: {
// 디테일 영역
}
This post is licensed under CC BY 4.0 by the author.