Мне нужно изменить цвет фона панели навигации, когда пользователь выбирает другой стиль темы.
Но странно то, что после того, как пользователь выберет «Темный» режим, затем войдет в задний план, а затем снова на передний план , если пользователь хочет вернуться в режим «Light», панель навигации по-прежнему имеет черный цвет, а «_UIVisualEffectBackdropView» остается темным.
Но если пользователь выбирает режим «Light» перед переходом в фоновый режим , то все работает нормально.
Как исправить этот баг? Ниже приведен код & pi c:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.row {
case 0:
self.changeToLightColor()
default:
self.changeToDarkColor()
}
}
private func changeToLightColor() {
self.navigationController?.navigationBar.barStyle = .default
let textAttribute = [NSAttributedString.Key.foregroundColor: UIColor.systemBlue]
self.navigationController?.navigationBar.titleTextAttributes = textAttribute
}
private func changeToDarkColor() {
self.navigationController?.navigationBar.barStyle = .black
let textAttribute = [NSAttributedString.Key.foregroundColor: UIColor.systemGreen]
self.navigationController?.navigationBar.titleTextAttributes = textAttribute
}
введите описание изображения здесь
Большое спасибо за вашу помощь и ответ заранее!