SwiftUI NavigationView
SwiftUI에서 NavigationView를 사용해보고자 한다.
UIKit에서는 UINavigationController를 사용하는데 SwiftUI에서는 이걸 사용한다고 한다.
UINavigationController를 사용할 때와 마찬가지로 Embed in 즉, 중첩되는 상황에서를 잘 고려하면 될 거 같다.
개인적으로 Naviagion은 Stack 형태로 구성되어야 할탠데, NavigationView가 그냥 View의 성격을 갖고 Stack을 지원하지 않아서 상태를 관리하는게 조금 복잡한거 같다.
간단한 앱도 복잡한 상태 관리 머신을 만들어야 하는데 네비게이션 스택 관리가 어려운 거 같음
NavigationView 간단하게 사용해보기
import SwiftUI
struct MyNavigationView : View {
var body: some View{
// NavigationView란 쉽게 말해서 Embed in으로 네비게이션 하는거라고 생각
NavigationView { // ❗️ 최상단에만 이걸 걸어야 함!
// Text("MyNavigationView")
MyList()
.navigationBarTitle("안녕하세요!") // 가운데 타이틀
// .navigationBarTitle("안녕하세요!", displayMode: .automatic)
.navigationBarItems(leading: // 왼쪽에 아이템 넣기
Button(action:{ // 클릭시 액션
print("호호")
}){ // 생김새 영역
Text("호호")
}
, trailing: // 오른쪽에 아이템 넣기
NavigationLink(destination: // push로 화면이동
Text("넘어온 화면입니다.")
) {
// Text("네비게이션")
Image(systemName: "bookmark.fill")
.font(.system(size: 25))
.foregroundColor(Color.black)
}
)
}
}
}
(참고)
https://developer.apple.com/documentation/swiftui/NavigationView
NavigationView | Apple Developer Documentation
A view for presenting a stack of views that represents a visible path in a navigation hierarchy.
developer.apple.com
'apple > SwiftUI, Combine' 카테고리의 다른 글
| SwiftUI TabView (Custom TabView) (0) | 2022.05.19 |
|---|---|
| SwiftUI GeometryReader (0) | 2022.05.19 |
| SwiftUI List (UITableView, UICollectionView) (0) | 2022.05.18 |
| SwiftUI Alert (0) | 2022.05.18 |
| SwiftUI VStack, HStack, ZStack (0) | 2022.05.18 |