Как видно из названия, мне интересно, есть ли способ изменить цвет фона UINavigationBar в Swift. Я знаю, что этот вопрос задавался однажды, когда я нашел этот вопрос здесь , но я не смог заставить работать какой-либо код, когда попытался обновить его. Я связал пользовательский класс, который является подклассом UINavigationController
. В настоящее время цвет фона у всех дочерних UINavigationItem
по умолчанию имеет слегка окрашенный белый цвет. Я хочу иметь возможность изменить их цвет, чтобы соответствовать остальным элементам пользовательского интерфейса в моем приложении, так как большинство из них очень темные, поэтому я пытаюсь изменить это ниже, есть изображение того, что я пытаюсь воспроизвести.
Есть ли более новый способ сделать это? Возможно использование Определяемые пользователем атрибуты времени выполнения . У меня нет идей.
Я пробовал
@objc func changebarColor(){
self.navigationController?.navigationBar.barTintColor = UIColor.red;
}
override func viewDidLoad() {
super.viewDidLoad()
changebarColor()
}
И
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.barStyle = UIBarStyle.blackTranslucent
self.navigationController?.navigationBar.barTintColor = UIColor.red;
}
И
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController!.navigationBar .setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController!.navigationBar.shadowImage = UIImage();
self.navigationController!.navigationBar.isTranslucent = true;
self.navigationController!.navigationBar.backgroundColor = UIColor.red;
}
А также все остальные ответы, размещенные на странице. Немного подправив их, чтобы убрать ошибки.