Próbuję zmienić kolor paska nawigacyjnego podczas przesuwania kontrolera widoku na stosie nawigacji, używając barTintColor podczas nawigacjiController (_: willShow: animated :).iOS - Przejście koloru paska nawigacji po naciśnięciu przycisku cofania
Oto kod:
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)
}
}
Wszystko działa pięknie, gdy wciskam kontroler widoku i kiedy korzystać z powrotem gest machnięcia (kolor jest gładkie przejście w obie strony).
Jednak po naciśnięciu przycisku Wstecz, kolor nie zmienia się w pierwszym, przejście nawigacja odbywa się, a następnie kolor zmienia się bez animacji.
Czy ktoś już napotkał/rozwiązał ten problem? Każda wskazówka byłaby doceniona.
jeśli piszesz kod to będzie dla nas łatwe do ustalenia, dlaczego to się stało –