Подтвердить что ты не робот

Проектирование iOS SearchBar

Я хочу иметь простой SearchBar в ObjectiveC. Использование UISearchBar или UISearchBarDelegate меня сбивает с толку. Я мог бы использовать UITextField, но у него нет внешнего вида панели поиска.

Как и в прикрепленном изображении, я хочу, чтобы с ним связалась только строка поиска UITableView. Изображение имеет прикрепленный TableView, но вы получаете точку. Также после того, как кто-то вводит текст в searchBar и нажимает "enter", как я могу получить текст?

enter image description here

ОБНОВЛЕНИЕ: Я знаю об этих ссылках, которые обсуждают одно и то же, но они больше в свете использования таблиц.

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

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

Как реализовать панель поиска в iPhone?

Пример кода UISearchBar

UISearchBar в UITableViewController?

4b9b3361

Ответ 1

Просто создайте контроллер вида UISearchBarDelegate. В вашем xib файле все, что вам нужно сделать, это добавить UISearchBar к вашему представлению и настроить его по мере необходимости, создать для него выход (необязательно, но помогает быть явным) и назначить выход делегата вашему контроллеру вида.

Затем, чтобы отвечать на события в строке поиска, при необходимости применяйте методы протокола UISearchBarDelegate. Например:

- (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
}