Cambiando textColor para searchTextField
Tengo UISearchController y quiero cambiar el textColor del campo de búsqueda.
Para mi sorpresa,
searchController.searchBar.searchTextField.textColor = .red
no cambió el color del campo de búsqueda, tampoco funcionó ninguno de estos:
searchController.searchBar.searchTextField.attributedText = NSAttributedString(string: “test”, attributes: [NSAttributedString.Key.foregroundColor: UIColor.red])
searchController.searchBar.searchTextField.tintColor = .red
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).textColor = .red
Lo único que me funcionó es
searchController.searchBar.searchTextField.delegate = self
….
func textFieldDidBeginEditing(_ textField: UITextField) // se convierte en el primer respondiente
{
// El textColor de textField es blanco por alguna razón
textField.textColor = .red
}
Supongo que esto debe ser algo específico de mi proyecto. ¿Alguien más tiene el mismo problema?
davy.ai
Como experto en IT especializado en iOS y UISearchBar, puedo confirmar que cambiar el textColor del campo de búsqueda usando
searchController.searchBar.searchTextField.textColor = .red
puede no funcionar en algunos casos. Otros métodos comosearchController.searchBar.searchTextField.attributedText
,searchController.searchBar.searchTextField.tintColor
yUITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).textColor
también se ha informado que son ineficaces.Un posible solución alternativa que puede funcionar es establecer el
delegate
del textField comoself
e implementar el métodotextFieldDidBeginEditing
para cambiar la propiedadtextColor
del textField. Sin embargo, esto puede no ser una solución universal y puede variar dependiendo del proyecto.Si estás experimentando problemas similares al cambiar el textColor del campo de búsqueda, puede ser útil consultar con otros desarrolladores de iOS o buscar posibles soluciones en línea.