해결된 질문
작성
·
83
답변 1
0
안녕하세요 o2k님!
먼저 강의 수강해주셔서 감사합니다.
네 커스텀 백버튼으로 뒤로가기 기능 구현이 가능합니다!
아래 코드를 참조 하면 되는데요.
간단하게 설명해드리면
ContentView = 현재 뷰, DetailView = 다음 뷰
Environment(\.dismiss) 다음 뷰를 업앨 수 있는 기능을 갖고 있는 함수
이걸 Environment라는 환경에서 가져와서 뷰를 닫을 수 있습니다.
커스텀 버튼을 네비게이션 반에 넣고 싶으면 .navigationBarBackButtonHidden으로 원래 내비게이션 바를 삭제하고 .toolBar로 새로운 커스텀 네비게이션 아이템들을 생성해주면 됩니다.
네비바가 아니라 하단 영역에 만들고 싶다면 Button을 만들어서 dismiss()함수를 실행해주면 됩니다.
같은 내용이 Part2에서 설명이 되는데요. 혹시 관심있으시다면 들어보시는 것을 추천드릴게요!ㅎㅎ
또 궁금한 사항 있으시면 질문 남겨주세요! 감사합니다.
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink("Go to Details", destination: DetailView())
}
}
}
struct DetailView: View {
@Environment(\.dismiss) private var dismiss
var body: some View {
VStack {
Button("Custom 뒤로가기2") {
dismiss()
}
}
.navigationBarBackButtonHidden(true) // 기본 백 버튼 숨기기
.toolbar {
ToolbarItem(placement: .topBarLeading) {
Button {
dismiss()
} label: {
HStack{
Image(systemName: "chevron.backward")
Text("Custom 뒤로가기1")
}
}
}
}
}
}