출처: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 =  // 원하는 색상