更改标题的颜色 Swift

Change the color of title Swift

UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]

我已经把上面的代码放到AppDelegate文件里了,标题的颜色还是黑色。

你可以试试这个:

if #available(iOS 13.0, *) {
    let appearance                      = UINavigationBarAppearance()
    appearance.backgroundColor          = .purple
    appearance.titleTextAttributes      = [.foregroundColor: UIColor.white]
    appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

    UINavigationBar.appearance().tintColor            = .white
    UINavigationBar.appearance().standardAppearance   = appearance
    UINavigationBar.appearance().compactAppearance    = appearance
    UINavigationBar.appearance().scrollEdgeAppearance = appearance
} else {
    UINavigationBar.appearance().tintColor     = .white
    UINavigationBar.appearance().barTintColor  = .purple
    UINavigationBar.appearance().isTranslucent = false
}

试试这个,

let textAttributes = [NSAttributedString.Key.foregroundColor:UIColor.red]
        UINavigationBar.appearance().titleTextAttributes = textAttributes

当我将 Xcode 更新到 11.4 时出现上述问题 标题颜色突然变成黑色,之前是白色

if #available(iOS 13.0, *) {
        let appearance = UINavigationBarAppearance()
        appearance.configureWithOpaqueBackground()
        appearance.backgroundColor = hexStringToUIColor(hex: "#7DB52F")
        appearance.titleTextAttributes = [
            NSAttributedString.Key.foregroundColor: UIColor.white
        ]

        let buttonAppearance = UIBarButtonItemAppearance()
        buttonAppearance.normal.titleTextAttributes = [.foregroundColor: UIColor.white]
        appearance.buttonAppearance = buttonAppearance

        UINavigationBar.appearance().standardAppearance = appearance
        UINavigationBar.appearance().scrollEdgeAppearance = appearance
        UINavigationBar.appearance().compactAppearance = appearance

        UIBarButtonItem.appearance().tintColor = UIColor.white
    } else {
        UINavigationBar.appearance().barTintColor = hexStringToUIColor(hex: "#7DB52F")
        UINavigationBar.appearance().titleTextAttributes = [
            NSAttributedString.Key.foregroundColor: UIColor.white
        ]
        UINavigationBar.appearance().tintColor = UIColor.white

        UIBarButtonItem.appearance().tintColor = UIColor.white
    }