2012-03-16 12 views
9

Używam UISearchDisplayController, aby umożliwić użytkownikowi przeszukiwanie listy budynków na kampusie uniwersyteckim. Czasami użytkownik będzie wiedział dokładnie, jaki budynek chce, wprowadź numer budynku, a ten budynek będzie jedynym wynikiem budynku widocznym na UITableView. W tej chwili, jeśli użytkownik przystąpi do naciśnięcia klawisza "Wyszukaj" na klawiaturze, klawiatura animuje się poza ekranem, a użytkownik musi następnie zrobić sekundę stuknąć w jedyny element w UITableView, aby wysłać go do punktu na mapa pokazująca lokalizację tego budynku.Otrzymywanie powiadomień, gdy użytkownik naciśnie "Wyszukaj" na klawiaturze w UISearchDisplayController

Moje pytanie brzmi: czy istnieje sposób powiadomienia, gdy użytkownik kliknie przycisk "Szukaj" na klawiaturze wewnątrz kontrolera UISearchDisplayController, dzięki czemu mogę wykonać sprawdzenie, czy jest tylko jeden wynik, a jeśli tak, zabrać użytkownika prosto do tego wyniku, zamiast wymagać od niego wyraźnego ponownego kliknięcia? Przyjrzałem się metodom dostarczonym przez UISearchDisplayDelegate, ale nie widzę niczego istotnego.

Odpowiedz

14

UISearchDisplayController ma UISearchBar, można ustawić delegata dla paska wyszukiwania i wdrożyć -searchBarSearchButtonClicked:.

4
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 

} 

Działa to również z przyciskiem wyszukiwania klawiatury.

Powiązane problemy