728x90
안녕하세요.
개발하면서 새롭게 알게 된 사실 하나 공유할게요.
(UIKit이든 SwiftUI든) NavigationView를 사용하면, 이렇게 swipe 동작으로 손쉽게 이전 화면으로 돌아갈 수 있습니다.
이때 커스텀 navigationBar를 사용하고 싶으면 기본 navigationBar를 숨겨야겠죠?
그런데 (iOS 16 이하에서) navigationBar를 숨기면 push와 dismiss 동작은 잘 동작하지만, swipe로 뒤로 가기 동작은 쓸 수 없더라구요..
만약, navigationBar를 숨기고 동시에 swipe 동작을 사용하고 싶다면, 아래 코드를 추가해 주면 됩니다.
(다만, 이 방법은 앱 전체에 영향을 미치는 코드이기 때문에 사용할 때 신경 써야 할 것 같아요. 개인적으로 앱 전체에 영향이 가는 코드는 좋아하지 않지만... 지금은 어쩔 수 없는 것 같아요..ㅠㅠ)
# 요약
- 기본적으로 SwiftUI에서 navigationBar를 숨기면 swipe로 화면 뒤로가기를 할 수 없다.
- UINavigationController의 제스처를 강제로 활성화시켜주면 사용할 수 있다.
- 나중에 애플이 고쳐주면 좋겠다ㅠㅠ
# 참고
반응형
'SwiftUI' 카테고리의 다른 글
TCA(5) : 부모-자식 간 이벤트 전달 (0) | 2023.07.20 |
---|---|
TCA(4) : Scope (1) | 2023.07.12 |
TCA(3) : _printChanges (0) | 2023.06.24 |
TCA(2) : TaskResult, run (0) | 2023.06.20 |
TCA(1) : ReducerProtocol, StoreOf, WithViewStore (0) | 2023.06.13 |