UINavigationBar 不会设置标题文本属性

UINavigationBar won't set title text attributes

我试图将我的应用标题文本颜色设置为白色,但是当我尝试设置 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]

找到答案了!万一有人遇到这个。

我使用的是 prefersLargeTitle = true 导航栏。

为了设置此样式的标题文本属性,您需要 LargeTitleTextAttributes,其设置与常规标题属性完全相同,但使用 largeTitleTextAttributes 属性 代替,例如:

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