backbutton을 만들어서 사용하니 뒤로가기 슬라이드가 안되는 문제점에 봉착했다...
해결법은 스위프트코딩클럽에 질문을 남겨서 해결하였다
다른 이들도 쉽게 해결했으면 해서 글을 남긴다..
.navigationTitle("앱 설정")
.navigationBarBackButtonHidden(true)
.navigationBarItems(leading: Button(action: {
self.presentationMode.wrappedValue.dismiss()
}) {
Image(systemName: "chevron.left")
.foregroundColor(Color(UIColor(red: 0.38, green: 0.38, blue: 0.45, alpha: 1)))
Text("뒤로")
.foregroundColor(Color(UIColor(red: 0.38, green: 0.38, blue: 0.45, alpha: 1)))
})
위와 같이 커스텀 네비게이션 백버튼을 만들었는데
.navigationBarBackButtonHidden(false)했을때와 다르게
슬라이드해서 뒤로갈 수 가 없더라구요 ㅠ
커스텀 백버튼구현하면서 슬라이드 뒤로가기 구현하는 방법이 따로 있을까요?
이와 같이 질문을 했는데
해결법은 간단했다.
바로 아무곳에나 extension을 추가하면 되는데
바로 이 extension이다.
extension View {
public func currentDeviceNavigationViewStyle() -> AnyView {
if UIDevice.current.userInterfaceIdiom == .pad {
return AnyView(self.navigationViewStyle(DefaultNavigationViewStyle()))
} else {
return AnyView(self.navigationViewStyle(StackNavigationViewStyle()))
}
}
}
바로 이 View를 Extension관리하는 곳에 넣으면 어디에서나 뒤로가기 슬라이드로 가능하다!
navigationBarItems가 deprecated
됐다는 소리를 들었다..
이를 Toolbar로 바꾸는 법과 SwiftUI에서 뒤로가기 만든것에 대해서는 다음 게시글에 작성하겠다!