azhy의 iOS 이야기

[iOS/Swift] iOS 15, Navigation Bar 배경 색 설정 본문

Swift

[iOS/Swift] iOS 15, Navigation Bar 배경 색 설정

azhy 2024. 11. 14. 20:55

2022년 10월 17일에 작성됨

 

평소에 Navigation Bar를 잘 사용 안 하다가 사용을 하려 했는데 배경 색이 자꾸 검은색으로 표시가 되는 문제가 발생했습니다. 사실 그 이유와 해결방법을 정말 별거 아닌데 나중에 계속 찾게 될까 봐 적어놓으려 합니다.

문제


Developer Forums에 문제점과 해결방법까지 다 나와있습니다. 정상적으로 나오던 bar 색깔이 오른쪽처럼 검은색으로 덮여버리는 현상입니다. 그 이유는 바로 WWDC21에 공지를 보면 알 수 있습니다.

 

While UIKit does its best to make this new appearance seamless in your app, there are a few issues you may encounter. You should audit your code for places where you may be setting a bar’s translucent property to false and check for any UIViewControllers that have non-standard edgesForExtendedLayout. Both of these conditions will cause visual issues with the new appearance.

 

네.. UIKit (Navigation Bar) 의 기능 확장으로 기존 방식으로는 사용이 불가능 해졌습니다..

해결방법

Developer Forums 여기에도 나와있지만 귀찮으신 분들을 위해..

let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = UIColor.systemBackground
UINavigationBar.appearance().standardAppearance = appearance
UINavigationBar.appearance().scrollEdgeAppearance = appearance

 

appearance.backgroundColor 부분에 본인이 원하는 색깔을 넣으시면 됩니다.