NavigationBar backgroundColor не окрашивает фон строки состояния - PullRequest
0 голосов
/ 11 апреля 2020

У меня проблемы с окраской панели навигации. Я пробовал использовать разные методы из разных учебников, но, похоже, ничто не работает так, как я хочу. Я использую следующий код в моем AppDelegate:

    let navAppeareance = UINavigationBarAppearance()

    navAppeareance.configureWithOpaqueBackground()
    navAppeareance.backgroundColor = .systemRed

    //Setup buttons
    let buttonDone = UIBarButtonItemAppearance(style: .done)
    buttonDone.normal.titleTextAttributes = [.foregroundColor: UIColor.white]
    navAppeareance.doneButtonAppearance = buttonDone

    let buttonPlain = UIBarButtonItemAppearance(style: .plain)
    buttonPlain.normal.titleTextAttributes = [.foregroundColor: UIColor.white]
    navAppeareance.buttonAppearance = buttonPlain

    //Set appearances
    UINavigationBar.appearance().standardAppearance = navAppeareance
    UINavigationBar.appearance().scrollEdgeAppearance = navAppeareance

    UINavigationBar.appearance().backgroundColor = .systemRed

Приведенный выше код дает следующий результат: Result of above code Я хочу, чтобы строка состояния была того же цвета, что и навигационная панель, но он принимает цвет фонаЦвет вида.

1 Ответ

2 голосов
/ 11 апреля 2020

используйте это в AppDelegate

let navBarAppearnce = UINavigationBar.appearance()
navBarAppearnce.barTintColor = UIColor.red // the color you want

Result

...