Я пытаюсь изменить цвет панели навигации при нажатии контроллера просмотра в стеке навигации, используя barTintColor во время навигацииController (_: willShow: анимированный :).iOS - переход цвета на навигационной панели при нажатии кнопки возврата
Вот код:
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)
}
}
Все прекрасно работает, когда я нажимаю контроллер представления, и когда я использую салфетки жест назад (переход цвета гладко в обоих направлениях).
Однако, когда я нажимаю кнопку назад, цвет не изменяется при первом, навигация переход осуществляется, а затем цвет меняется, без анимации.
Кто-нибудь уже столкнулся/разрешил эту проблему? Любой ключ был бы оценен.
если вы пишете код, то это будет легко для нас, чтобы определить, почему это произойдет –