Таким образом:
ользовал следующий код до 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 и добавивUISearchController
как частьnavigationItem
Любые Настройка (кроме появления клавиатуры, подтверждающего, что мой код был вызван) не отображается. Это ошибка или я ее неправильно реализовал?
РЕДАКТИРОВАТЬ: Приложены два скриншота устройств под управлением iOS 10 (первый) и iOS 11
РЕДАКТИРОВАТЬ 2: Большая часть внимания к этому вопросу до сих пор фокусируется на цвете текстаUISearchBar
, Я смотрю больше на это - цвет фона, цвет оттенка, индикатор поиска и цвета кнопок и т. Д.все не могут быть настроены на устройстве под управлением iOS 11, несмотря на то, что вполне могут сделать это на iOS 10.