Ich versuche, die Farbe der Navigationsleiste zu ändern, wenn Sie einen View-Controller auf dem Navigations-Stack mit barTintColor während navigationController (_: willShow: animiert :). HieriOS - Navigationsleiste Farbübergang beim Drücken Zurück Taste
ist der 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)
}
}
Alles funktioniert wunderbar, wenn ich die View-Controller drücken, und wenn ich die Swipe-Zurück-Geste verwenden (Farbübergang ist glatt in beiden Richtungen). Jedoch
, wenn ich die Zurück-Taste drücken, Farbe ändert sich nicht auf den ersten, ist das Navigations Übergang gemacht, und dann Farbe wird ohne Animation verändert.
Hat bereits jemand dieses Problem festgestellt/gelöst? Jeder Hinweis würde geschätzt werden.
wenn Sie den Code schreiben, dann wird es einfach sein für uns, warum um zu bestimmen, ist es –