У меня возникло несколько проблем с моим стилем навигации. Предположим, у меня есть два контроллера вида.Изменения в навигационной панели после возврата к предыдущему VC
VC 1 имеет оранжевую полоску с белым текстом, который я настроил как так:
func stylingStuffs(){
self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 1)
self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 1)
self.navigationController?.navigationBar.tintColor = UIColor.white
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white]
self.navigationController?.navigationBar.isTranslucent = false
UIApplication.shared.statusBarStyle = .lightContent
}
VC 2 имеет прозрачную панель навигации и код, который:
func stylingStuffs(){
navigationController?.setNavigationBarHidden(false, animated: true)
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 0)
self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0.94, green: 0.38, blue: 0.24, alpha: 0)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
navigationController?.navigationBar.tintColor = UIColor.white
self.navigationController?.navigationBar.barStyle = .default
UIApplication.shared.statusBarStyle = .lightContent
}
Когда Я перемещаюсь из VC1-> VC2, все работает нормально, когда я перемещаюсь из VC2-> VC1, Navbar VC1 теперь белая/прозрачная, а также строка состояния.
Как исправить это или, я думаю, сбросить стили при возврате в VC1?
Спасибо, продвинутый!
Вы смущены, потому что на самом деле только одна панели навигации. Это часть одного навигационного контроллера, в котором находятся оба контроллера. – rmaddy
Да, вы должны сбросить стили при возврате в vc1. – Kingalione