iOS
[iOS] 내비게이션 바 숨김 시 swipe 제스처로 뒤로 가기 구현 하기
띵지니어
2024. 9. 21. 17:07
반응형
안녕하세요 띵지니어 입니다. 😼
네비게이션 바를 숨김 처리했을때, swipe 제스처로 뒤로가기를 구현하는 방법에 대해서 포스팅 해보려고 합니다.
iOS 개발을 진행하다 보면, 요구 사항에 따라 전체 화면을 더 깔끔하게 보여주기 위해
아래 코드와 같이 네비게이션 바를 숨기는 경우가 종종 있습니다.
navigationController?.isNavigationBarHidden = true
하지만 네비게이션 바를 숨기면, 기본적으로 제공되는 Swipe로 뒤로 가기 기능이 비활성화된다는 점을 알게 됩니다.
해결하는 법은 매우 간단합니다.
해당하는 ViewController 의 ViewDidLoad에서 아래 코드만 추가 하면 됩니다.
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.isNavigationBarHidden = true
navigationController?.interactivePopGestureRecognizer?.delegate = nil // 추가
}
코드 상세 설명
1. navigationController?.isNavigationBarHidden = true
- 네비게이션 바를 숨기는 코드입니다.
2. navigationController?.interactivePopGestureRecognizer?.delegate = nil
기본적으로 네비게이션 바가 숨겨졌을 때 비활성화되는 Swipe 제스처를 다시 활성화하는 코드입니다.
delegate를 nil로 설정하여, 제스처 인식기의 기본 제약을 해제하고 항상 작동하도록 만듭니다.
결과
Reference
https://greenchobo.tistory.com/13
Xcode 15.0
iOS 17.2.1
MacOS Sonoma 14.6
환경에서 작성 한 글입니다.
감사합니다. 🤗
반응형