
SwiftUI는 네비게이션 바 디스플레이 모드를 설정할 수 있다. 모드를 설정하기 위해서 .navigationBarTitleDisplayMode 수정자를 사용한다. 모드는 3가지가 있다. - inline - large - automatic # inline 네비게이션 항목의 표준 범위 내에 제목을 표시한다. # large 확장된 네비게이션 항목 내에 큰 제목을 표시한다. # automatic 이전 탐색 네비게이션 아이템에서 디스플레이 모드를 상속한다. struct ContentView: View { var body: some View { NavigationStack { Text("HI") .navigationTitle("Title") .navigationBarTitleDisplayMode(.inline) ..
SwiftUI를 사용하다보면 네비게이션 바를 사용하지 않을 때가 있다. 하지만 네비게이션 바를 사용하지 않아도 공간을 차지고 있다. # iOS 13.0 ~ 17.0 네비게이션 바 공간을 없애기 위해서 .navigationBarHidden(true) 수정자를 사용하면 된다. struct TestView: View { var body: some View { NavigationStack { Text("HI") .navigationBarHidden(true) } } } # iOS 16.0 ~ .navigationBarHidden(true)는 iOS 13.0-17.0까지만 지원한다고 한다. 그래서 iOS16.0 부터는 .toolbar(.hidden, for: .navigationBar) 수정자를 사용해야 한다. ..
SwiftUI에서 내비게이션을 통해 이전 화면에서 현재화면으로 이동했을 경우, 다음과 같은 방법으로 이전 화면으로 돌아갈 수 있다. 1. 먼저 dismiss 환경을 가져온다. @Environment(\.dismiss) private var dismiss 2. dismiss() 함수를 호출해서 이전 화면으로 돌아간다. dismiss() 다음 SecondView는 Button를 탭하면 이전 화면으로 돌아가는 예제코드이다. struct SecondView: View { @Environment(\.dismiss) private var dismiss var body: some View { Button(action: { dismiss() } }) { Text("Back") } } }