2011-06-01 12 views
11

Quiero tener un SearchBar simple en ObjectiveC. Usar UISearchBar o UISearchBarDelegate me confunde. Podría haber usado un UITextField pero no tiene el aspecto & de una barra de búsqueda.Diseñando iOS SearchBar

Como en la imagen adjunta, quiero solo la barra de búsqueda no UITableView asociada a ella. La imagen tiene un TableView adjunto pero obtienes el punto. También después de que alguien ingrese texto en la barra de búsqueda & presionó "enter" ¿cómo recupero el texto?

enter image description here

ACTUALIZACIÓN: Soy consciente de estos enlaces que tratan sobre el mismo, pero son más a la luz con el uso de tablas.

http://blog.webscale.co.in/?p=228

http://ved-dimensions.blogspot.com/2009/02/iphone-development-adding-search-bar-in.html

How to implement search bar in iPhone?

UISearchBar Sample Code

UISearchBar in UITableViewController?

+0

cheque http://stackoverflow.com/questions/6201406/how-to-custom-uisearchbar/6201490#6201490 – Jhaliya

+0

Lo que está mal con el uso de las clases UISearchBar y afines existentes? –

+0

¡No necesita usar un controlador de vista de tabla! –

Respuesta

33

Simplemente haga su controlador de vista implementar el UISearchBarDelegate. En su archivo xib, todo lo que necesita hacer es agregar un UISearchBar a su vista y configurarlo según sea necesario, crear una salida para él (opcional realmente, pero ayuda a ser explícito) y asignar la salida de delegado a su controlador de vista.

Luego, para responder a los eventos de la barra de búsqueda, implemente los métodos de protocolo UISearchBarDelegate según sea necesario. Por ejemplo:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [self handleSearch:searchBar]; 
} 

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { 
    [self handleSearch:searchBar]; 
} 

- (void)handleSearch:(UISearchBar *)searchBar { 
    NSLog(@"User searched for %@", searchBar.text); 
    [searchBar resignFirstResponder]; // if you want the keyboard to go away 
} 

- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar { 
    NSLog(@"User canceled search"); 
    [searchBar resignFirstResponder]; // if you want the keyboard to go away 
}