출처:https://www.zehye.kr/ios/2021/10/19/iOS_ios15_navigation_bar/
iOS15 업데이트후 네비게이션바의 백그라운드 컬러가 투명한 색으로 변겨되었다.
정확히 scrollEdgeAppearance이러한 문제로 인해 기존앱에서 시각적인 문제가 발생할 수 있다.
if #available(iOS 15.0, *) {
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.configureWithDefaultBackground()
UINavigationBar.appearance().standardAppearance = navigationBarAppearance
UINavigationBar.appearance().compactAppearance = navigationBarAppearance
UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
}
다음과 같은 코드로 방지가 가능하다고 한다.
네비게이션바의 용어 정리
tintColor : 네비게이션 아이템들과 바 버튼 아이템에 적용되는 색상이라고 한다.
self.navigationController?.navigationBar.tintColor = //원하는 색상
background: 네비게이바의 백그라운드에 적용되는 색을 의미함
istranslucent 를 false로 설정하지 않는다면 기본 값은 반투명이라함.
self.navigationController?.navigationBar.barTintColor= //원하는색상
self.navigationController?.navigationBar.isTranslucent= false
backgrount: 네비게이션 바에 적용되는 색을 의미함.
self.navigationController?.navigationBar.backgroundColor = // 원하는 색상