[iOS] NavigationBar BackgroundColor 노치까지 채우기

 

 

이전 프로젝트의 UI를 손보고 있는데,, 라이트모드를 기본으로 했던 거에서 다크모드로 옮기려고 하니까 진짜 온갖 걸 다 변경해야 하드라

사실 당연함 ,,

워낙 예전에 만들었던 프로젝트다 보니까 모든 설정을 잘게 나누어서 각각 해줬더라

 

그때랑,, 지금 별 차이 없는 거 아닌가? 하는 생각을 간혹 했는데 전혀 아니었다

 

암튼 ㄱㄱ링

 

 

 

 

문제 화면이다.

 

        self.navigationController?.navigationBar.backgroundColor = .black

 

왼쪽에서 오른쪽은 위 코드를 적용할 경우에 저런 식으로 나온다.

대체 노치는 왜 안 채워주는 거냐?!

 

 

 

 

해결 방법

스크롤뷰가 있을 때

        let navigationBarAppearance = UINavigationBarAppearance()
        navigationBarAppearance.backgroundColor = .black
        navigationController?.navigationBar.scrollEdgeAppearance = navigationBarAppearance

 

 

 

 

스크롤뷰가 없을 때

        let navigationBarAppearance = UINavigationBarAppearance()
        navigationBarAppearance.backgroundColor = .black
        navigationController?.navigationBar.standardAppearance = navigationBarAppearance

 

 

 

 

'iOS > App' 카테고리의 다른 글

[iOS] Share 기능 구현하기 +) 메타데이터?  (1) 2023.12.24
[iOS] UI Test와 Unit Test  (0) 2023.12.13
[RxSwift] Single  (1) 2023.11.21
[iOS] Push Notification 보내기  (1) 2023.11.13
[iOS] URLSession  (0) 2023.09.01