Tengo una UISearchBar en mi interfaz y quiero personalizar el comportamiento del pequeño botón claro que aparece en la barra de búsqueda después de haber ingresado un texto (es un pequeño círculo gris con una cruz, aparece en el lado derecho del campo de búsqueda).¿Puedo conectar el botón Borrar de UISearchBar?
Básicamente, quiero que no solo borre el texto de la barra de búsqueda (que es la implementación predeterminada) sino que también borre algunas otras cosas de mi interfaz, pero llamando a uno de mis propios métodos.
No encuentro nada en los documentos para la clase UISearchBar o el protocolo UISearchBarDelegate; no parece que pueda obtener acceso directo a este comportamiento.
Lo único que hice fue nota de que los documentos explican que el método delegado:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText;
se llama después se pulsa el botón de limpieza.
Inicialmente escribí un código en ese método que marcaba la propiedad de texto de la barra de búsqueda, y si estaba vacía, entonces se había borrado y para hacer todas mis otras cosas.
Dos problemas que esto, sin embargo:
En primer lugar, por alguna razón no puedo comprender, a pesar de que le digo a la barra de búsqueda para resignFirstResponder al final de mi método, algo, en alguna parte está fijando de nuevo a becomeFirstResponder. Realmente molesto ...
En segundo lugar, si el usuario no usa el botón borrar y simplemente borra el texto en la barra con el botón Eliminar en el teclado, este método se desactiva y los resultados de búsqueda desaparecen. No está bien.
¡Cualquier consejo o sugerencia en la dirección correcta sería genial!
Gracias!
estoy bastante seguro de que el UISearchBar no expone se texfield ... – Jasarien