아리의 iOS 탐구생활

[UiKit/iOS] 네비게이션 바 감추는 방법 본문

Swift/iOS

[UiKit/iOS] 네비게이션 바 감추는 방법

Ari Lee 2022. 2. 6. 00:49
반응형

1️⃣ 스토리보드에서 감추기

  • 네비게이션 컨트롤러를 클릭 후
  • 우측 Inspector에서 Shows Navigation Bar 체크를 해제해준다.

Navigation Controller를 클릭했을 때 나오는 설정 화면

 

2️⃣ 코드로 감추기

  • 네비게이션 컨트롤러로 Embed In 되어있는 ViewController 내부에 다음과 같은 코드를 추가해준다.
self.navigationController?.isNavigationBarHidden = true

위와 같은 방법은 Navigation Controller에 연결되어있는 모든 ViewController의 Navigation Bar가 숨겨진다.

 

 

특정 ViewController의 Navigation Bar를 숨기려면 다음과 같은 방법이 있다.

 

해당 방법은 View Life Cycle 메소드를 활용하여

뷰가 화면에 보일 때 Navigation Bar를 숨기고 

다른창으로 넘어갈때 다시 보이게하는 방법이다.

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
  • 애니메이션이 필요없는 경우에는 setNavigationBarHidden 메소드 말고 isNavigationBarHidden 프로퍼티를 이용해도 된다.

 

 

 

Reference

 

Apple Developer Documentation

 

developer.apple.com

 

Apple Developer Documentation

 

developer.apple.com

 

반응형
Comments