Это конкретное представление является частью UINavigationController, поэтому навигационная панель предоставляется этим. Я вызываю следующий код в viewDidLoad()
текущего контроллера представления.
func buildSearchBar() {
self.definesPresentationContext = true
let searchController = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = searchController
self.navigationItem.hidesSearchBarWhenScrolling = false
self.navigationController?.navigationBar.barTintColor = UIColor(displayP3Red: 30/255, green: 50/255, blue: 49/255, alpha: 1.0)
searchController.searchBar.backgroundColor = UIColor(displayP3Red: 30/255, green: 50/255, blue: 49/255, alpha: 1.0)
}
Используя построитель интерфейса, я установил тот же цвет для панели навигации для контроллера навигации.
Когда панель поиска активна, фон строки состояния становится черным.
Это неактивно.
![Inactive](https://i.stack.imgur.com/hnRaG.png)
Это активно.
Я видел эту проблему на StackOverflow много раз, и не было найдено решение, которое работает. Похоже, что для большинства людей это работает сразу после установки контроллера поиска. В последних примерах используется похожий код, и не упоминается наличие этой проблемы.