본문 바로가기
IOS

네비게이션 바 없애기 isNavigationBarHidden VS isHidden (feat. ScrollView) - 에이젠

by eigen96 2022. 8. 10.
728x90

 

 

상황 : 네비게이션바의 isHidden을 true로 설정했는데도 불구하고
다른화면으로 전환한 후 다시 돌아왔을 때 사라지지 않는 상황 발생.

 

무슨 차이인지 모르겠는데 isNavigationBarHidden값이 있길래 true로 설정해주었더니 말끔하게 사라졌습니다.

이대로 넘어가기엔 찝찝해서 정리합니다.

 

 

isHidden을 타고 들어가보면 UIView의 속성을 재정의 했다는 것을 알 수 있습니다.

우선 둘의 차이점으로는 애니메이션 요소가 들어가는 여부인 것 같네요 . 

처음에 제가 네비게이션 바를 사라지게 만들기 위해서 사용한 방법은 다음과 같습니다.

ViewController의 생명주기의 viewDidLoad와 viewWillAppear에서 isHidden을 true로 설정해주었는데요.

가만 생각해보니 뷰는 viewWillAppear에서는 아직 인스턴스화가 되지 않았을겁니다. 즉 UIView를 확장한 isHidden은 viewWillAppear에서 사용할 수 없겠죠. 그래서 없어지지 않고 다시 나타났던 것이었습니다.

 

 

 

참고)
https://baechukim.tistory.com/91

 

[iOS] NavigationBar 숨기기, Custom 네비게이션바

extension으로 다음과 같이 만들어 줍니다. extension UINavigationController { // 완전 안보임 func hideNavigationBar() { navigationBar.isHidden = true } // 투명하게 만들기 (버튼 등은 보임) func changeN..

baechukim.tistory.com

https://stackoverflow.com/questions/47470145/difference-between-navigationbar-ishidden-and-setnavigationbarhidden

 

difference between navigationBar.isHidden and setNavigationBarHidden

I have view controller which I am pushing from a view controller where navigation bar is hidden. But I want to show the navigation bar in destination view controller. I tried with this statement i...

stackoverflow.com

 

728x90

'IOS' 카테고리의 다른 글

[iOS] Coordinator 패턴 - 에이젠  (0) 2022.08.24
[iOS] RxDataSource  (0) 2022.08.23
[iOS] RXswift(5) - Combining Operator - 에이젠  (0) 2022.05.14
[iOS] RXswift (4) - Opeartor  (0) 2022.05.13
[iOS] RXswift (3) - Subject  (0) 2022.05.13

댓글