Я пытаюсь установить произвольный цвет фона текстового поля в строке поиска. Я посмотрел на ответ безрезультатно:
Невозможно изменить цвет фона панели поиска
Видите, у этой панели поиска есть красное текстовое поле? Я следил за кодом и даже могу убедиться, что объект UISearchBarTextField был найден и цвет его фона установлен на UIColor.red, но цвет не меняется.
Я возился со всеми цветами фона супервизоров в надежде, что это может помочь, но я не могу изменить этот цвет. Может быть, есть какой-то новый трюк или кто-то сможет пролить свет на что-то, что может каким-то образом переопределить цвет.
extension UISearchBar {
var textField: UITextField? {
return subviews.first?.subviews.first(where: { $0.isKind(of: UITextField.self) }) as? UITextField
}
}
searchBar.textField?.backgroundColor = UIColor.red // <-- Not working
let textFieldInsideUISearchBarLabel = searchBar.textField?.value(forKey: "placeholderLabel") as? UILabel
textFieldInsideUISearchBarLabel?.textColor = UIColor.lightGray
Обратите внимание, что текст внутри объекта UITextField меняется на светло-серый, как я хочу, а не на цвет фона UITextField.