Глобальные изменения фона UINavigationBar с использованием внешнего прокси не работает - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь изменить некоторые свойства всех UINavigationBars в моем приложении, используя UINavigationBarAppearance. Я вызываю следующую функцию в application(_:didFinishLaunchingWithOptions:) в AppDelegate.swift:

func customizeAppearance() {

    let navBarAppearance = UINavigationBarAppearance()
    navBarAppearance.configureWithDefaultBackground()
    navBarAppearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
    navBarAppearance.backgroundColor = UIColor.black

    UITabBar.appearance().backgroundColor = UIColor.black

    let tintColor = UIColor(red: 255/255.0, green: 238/255.0, blue: 136/255.0, alpha: 1.0)
    UITabBar.appearance().tintColor = tintColor

}

Я ожидаю, что это изменит цвет фона и цвет текста заголовка, но когда я запускаю приложение, только текст изменения цвета (это также верно для UITabBar). Есть предложения?

1 Ответ

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

Вы должны использовать это UINavigationBarAppearance в ваших UINavigationControllers. Если вы используете глобальный внешний вид для UINavigationController, вы должны использовать UINavigationBar.appearance() вместо UINavigationBarAppearance().

...