Development/iOS 개발
SwiftUI) Navigation dismiss하기
Tunko
2022. 7. 21. 18:42
iOS 버전에 따라 구현 방법이 달라집니다.
iOS13, 14
@Environment(\.presentationMode) var presentationMode
라는 환경변수를 통해서
presentationMode.wrappedValue.dismiss()
를 사용해야 했습니다.
iOS15
@Environment(\.dismiss) private var dismiss
해당 환경변수를 선언후
dismiss()
형태로 사용할 수 있습니다.
실제로 사용할 때 다른 파일로 NavigationBackItem View를 생성하고
import SwiftUI
struct NavigationBackItem: View {
@Environment(\.dismiss) private var dismiss
var title : String = ""
var body: some View {
Button {
print("돌아가기")
dismiss()
} label: {
HStack {
Image(systemName: "lessthan")
.foregroundColor(.Liblack1)
Text(title)
.foregroundColor(Color.Liblack1)
}
}
}
}
뒤로가기 화면에서 아래와 같이 사용해줍니다.
...
}
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
NavigationBackItem(title: "title")
}
}
끝~
반응형