Я использовал следующий код до iOS 11, чтобы настроить внешний вид панели поиска UISearchController
:
var searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.setDefaultSearchBar()
searchController.searchResultsUpdater = self
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
} else {
tableView.tableHeaderView = searchController.searchBar
}
extension UISearchBar {
func setDefaultSearchBar() {
self.tintColor = UIColor.blue
self.searchBarStyle = .minimal
self.backgroundImage = UIImage(color: UIColor.clear)
let searchBarTextField = self.value(forKey: "searchField") as! UITextField
searchBarTextField.textColor = UIColor.white
searchBarTextField.tintColor = UIColor.blue
searchBarTextField = .dark
}
}
Однако внешний вид панели поиска не обновляется при запуске того же кода в iOS 11.
iOS 10:
iOS 11:
Большая часть внимания к этому вопросу до сих пор была сосредоточена на цвете текста в строке поиска. Я смотрю не только на это - цвет фона, цвет оттенка, индикатор поиска, цвет кнопки очистки и т. д.
searchController.searchBar.tintColor = UIColor.white
Должно сработать. - person Nishant Bhindi   schedule 22.08.2017