#ios #swift #uinavigationbar
#iOS #swift #uinavigationbar
Вопрос:
Я попытался изменить цвет панели навигации в одном контроллере, но это меняет цвет панели навигации в каждом контроллере.
Комментарии:
1. Обновите вопрос своим кодом
2. Появится изменение цвета в представлении, и представление исчезнет. Или нажмите новый элемент навигации для этого контроллера представления.
3. //self.NavigationController?.NavigationBar.barTintColor = UIColor.red
Ответ №1:
Не используйте тип перехода в качестве push / show.
Вы можете попробовать present type. Это поможет вам.
Здесь вы создадите новую navigationController
. Итак, вы можете настроить ее для одного ViewController.
Я надеюсь, что это поможет вам в полной мере.
Комментарии:
1. как создать новый контроллер навигации?
2. в раскадровке выберите view controller, который вы хотите добавить внутри navigationcontroller -> Editor -> Embed in -> Navigation Controller
Ответ №2:
на вашем контроллере просмотра примените следующие методы:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated: animated)
self.navigationController?.navigationBar.barTintColor = UIColor.red //current new color
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated: animated)
self.navigationController?.navigationBar.barTintColor = UIColor.white //other vc's color
}
Комментарии:
1. изменение цвета панели навигации следующего контроллера занимает 5-6 секунд.