UINavigationBar не будет устанавливать атрибуты текста заголовка - PullRequest
0 голосов
/ 16 января 2019

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

У меня есть другие свойства внешнего вида, такие как цвет фона и оттенок. Но NSAttributedString.Key.foregroundColor, кажется, не работает правильно. Я дважды проверил документацию, чтобы убедиться, что он принимает UIColor, и все еще, кажется, настроен правильно, без результатов. Ниже мой AppDelegate для справки.

//Set the window as the visible view.
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()


// Make the view controller default the homeController.
window?.rootViewController = UINavigationController(rootViewController: HomeController())

//Customise navBar appearance   
let navBarAppearance = UINavigationBar.appearance()
navBarAppearance.isTranslucent = false
navBarAppearance.barTintColor = .backgroundLightBlack
navBarAppearance.tintColor = .seaFoamBlue

//This is the line that doesnt work :( 
navBarAppearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]

1 Ответ

0 голосов
/ 15 февраля 2019

Нашел ответ! На случай, если кто-нибудь столкнется с этим.

Я использовал панель навигации prefersLargeTitle = true.

Чтобы установить текстовые атрибуты заголовка для этого стиля, вам нужны LargeTitleTextAttributes, которые точно совпадают с обычным атрибутом заголовка, но вместо этого имеют свойство largeTitleTextAttributes, например:

navBarAppearance.largeTitleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
...