Je suis en train de changer la couleur de la barre de navigation en poussant un contrôleur de vue sur la pile de navigation, à l'aide barTintColor pendant NavigationController (_: willShow: animation :).
Voici le code:
func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
if viewController is ViewerViewController {
navigationBar.barTintColor = UIColor(custom: .white)
navigationBar.tintColor = UIColor(custom: .black)
} else if viewController is FeedViewController {
navigationBar.barTintColor = UIColor(custom: .blue)
navigationBar.tintColor = UIColor(custom: .white)
}
}
Tout fonctionne à merveille lorsque je pousse le contrôleur de vue et lorsque j'utilise le geste de balayage arrière (la transition de couleur est fluide dans les deux sens).
Cependant , lorsque j'appuie sur le bouton de retour , la couleur ne change pas au premier abord, la transition de la navigation se fait, et la couleur est modifiée sans animation .
Quelqu'un a-t-il déjà rencontré / résolu ce problème? Tout indice serait apprécié.
Je fini par utiliser la bibliothèque KMNavigationBarTransition qui fonctionne très bien et ne nécessite pas une seule ligne de code.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots