반응형
안녕하세요 띵지니어 입니다. 😼
네비게이션 바를 숨김 처리했을때, 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
환경에서 작성 한 글입니다.
감사합니다. 🤗
반응형
'iOS' 카테고리의 다른 글
[iOS] TabBar 터치 하지 않고, 코드로 TabBar를 움직이는 방법 (2) | 2024.09.25 |
---|---|
[iOS] 수출 규정 관련 문서 누락 해결 방법 (1) | 2024.09.24 |
[iOS] 프로젝트에 SwiftLint 적용하기 (0) | 2024.06.20 |
[iOS] Compositional Layout 으로 복잡한 CollectionView 구현 - TVING 메인 뷰 (0) | 2024.05.06 |
[iOS] UIPickerView 커스텀 구현 - UIKit (1) | 2024.05.02 |