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