2011-10-21 25 views
21

Implementé una barra UISearch con la funcionalidad de búsqueda configurada, sin embargo, cuando presiono el botón "Buscar" en el teclado, aparece que no pasa nada. ¿Cómo puedo obtener el teclado para ocultar cuando el botón "Buscar" se pulsa mientras se mantiene el texto en la barra de búsqueda intacta (para mantener los resultados de la búsqueda actual)Cómo descartar el teclado cuando se presiona el botón 'Buscar' de UISearch Bar?

Respuesta

48

de Text, Web and Editing Programming Guide for iOS:?

To dismiss the keyboard, you call the resignFirstResponder method of the text-based view that is currently the first responder.

Así que deberías hacer esto en tu UISearchBarDelegate:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
    // Do the search... 
} 
+5

Eso funciona solo en parte para mí porque si renuncio a la primera respuesta, el botón cancelar se desactiva ... no lo mantiene habilitado para recibir toques. – cgossain

+0

El botón cancelar de UISearchBar existe para proporcionar una forma para que los usuarios de iPhone descarten el teclado, ya que el teclado del iPhone no tiene un botón de descartar. Si necesita un botón cancelar por algún otro motivo, debe implementarlo usted mismo ya que UISearchBar no le da acceso completo a ese control. –

+1

Recibí este mensaje de error, error grave: Índice de matriz fuera de rango –

Cuestiones relacionadas