Home > Net >  iOS 15 Navigation Bar issue
iOS 15 Navigation Bar issue

Time:02-23

I have a custom NavigationBar in my project, but the only issue I encounter is that once I begin scrolling, the NavigationBar still shows the content behind it.

func customNavigationBar() {
    let coloredAppearance = UINavigationBarAppearance()
        coloredAppearance.configureWithTransparentBackground()
        coloredAppearance.backgroundColor = UIColor(red: 41/255, green: 59/255, blue: 77/255, alpha: 0)
        coloredAppearance.shadowColor = .clear
        coloredAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
        coloredAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

        UINavigationBar.appearance().standardAppearance = coloredAppearance
        UINavigationBar.appearance().compactAppearance = coloredAppearance
        UINavigationBar.appearance().scrollEdgeAppearance = coloredAppearance
        UINavigationBar.appearance().tintColor = .white
    }

CodePudding user response:

Preview Image

Change alpha from 0 to 1 on your backgroundColor property

func customNavigationBar() {
    let coloredAppearance = UINavigationBarAppearance()
    coloredAppearance.configureWithTransparentBackground()
    coloredAppearance.backgroundColor = UIColor(
        red: 41/255,
        green: 59/255,
        blue: 77/255,
        alpha: 1) //alpha: 0 is Transparent and alpha: 1 is colored
    coloredAppearance.shadowColor = .clear
    coloredAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
    coloredAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

    UINavigationBar.appearance().standardAppearance = coloredAppearance
    UINavigationBar.appearance().compactAppearance = coloredAppearance
    UINavigationBar.appearance().scrollEdgeAppearance = coloredAppearance
    UINavigationBar.appearance().tintColor = .white
}
  • Related