Priyanka Kadam
Priyanka Kadam

Reputation: 145

Change the color of title Swift

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

I have put the above code in AppDelegate file, still color of the title is Black.

Upvotes: 0

Views: 163

Answers (3)

Priyanka Kadam
Priyanka Kadam

Reputation: 145

Above Problem occurred when I have updated my Xcode to 11.4 suddenly title color changed to black previously it was white

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
    }

Upvotes: 0

Vandana pansuria
Vandana pansuria

Reputation: 764

Try this,

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

Upvotes: 0

Frankenstein
Frankenstein

Reputation: 16371

You could try with this:

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
}

Upvotes: 1

Related Questions