
SwiftUI에서 Custom NavigationTitleView를 사용하게되면
예쁘게 상단 바 타이틀을 바꿀 수 있지만
back버튼을 hidden처리하기 때문에 필연적으로 Swipe기능이 막히게된다.
이는 UX적으로 좋지 못하다.
따라서 아래 익스텐션을 사용하면 hidden처리하더라도 뒤로가기를 사용할 수 있다.
물론 저 extenstion도 마찬가지로 커스텀해서 특정뷰에서는 막긴해야하니,
여러모로 SwiftUI는 편리하면서도 손이 많이간다.
extension UINavigationController: ObservableObject, UIGestureRecognizerDelegate {
open override func viewDidLoad() {
super.viewDidLoad()
interactivePopGestureRecognizer?.delegate = self
}
public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return viewControllers.count > 1
}
}