web-dev-qa-db-fra.com

Changer la couleur du titre de la barre de navigation dans MFMailComposeViewController dans iOS 12 ne fonctionne pas

Comment puis-je changer la couleur du titre de UINavigationBar dans MFMailComposeViewController dans iOS 12?

Voici ce que je fais:

import MessageUI

extension MFMailComposeViewController {
    open override func viewDidLoad() {
        super.viewDidLoad()
        navigationBar.isTranslucent = false
        navigationBar.isOpaque = false
        navigationBar.barTintColor = .white
        navigationBar.tintColor = .white
        navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
    }
}

Dans iOS 10 fonctionne:

ios 10

Dans iOS 11 fonctionne:

ios 11

Dans iOS 12 ne fonctionne pas:

ios 12

29
pableiros

J'ai essayé tout le temps de changer la couleur du titre, mais cela ne fonctionne pas

Avant de présenter le contrôleur mailcomopser

J'ai changé la couleur d'arrière-plan en blanc

et les boutons de couleur au noir

Voici le code ci-dessous:

UINavigationBar.appearance().setBackgroundImage(UIImage(), for: UIBarPosition.any, barMetrics: UIBarMetrics.default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().barTintColor = UIColor.white
UINavigationBar.appearance().isTranslucent = false
UINavigationBar.appearance().clipsToBounds = false
UINavigationBar.appearance().backgroundColor = UIColor.white
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.black], for: .normal)
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.black], for: .highlighted)
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .disabled)
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.black], for: .selected)

enter image description here

2
Fast Coderz