Получение уведомлений, когда пользователь нажимает "Поиск" на клавиатуре в UISearchDisplayController

Я использую UISearchDisplayController, чтобы пользователь мог просмотреть список зданий в университетском городке. Иногда пользователь будет точно знать, какое здание они хотят, введите номер здания, и это здание станет единственным результатом здания, отображаемым в UITableView. На данный момент, если пользователь начинает нажимать "Поиск" на клавиатуре, клавиатура оживляет экран, а затем пользователь должен сделать второй щелчок на единственном элементе в UITableView, который будет отправлен в точку на карте, показывающую расположение этого здания.

Мой вопрос в том, есть ли способ получить уведомление, когда пользователь нажимает кнопку "Поиск" на клавиатуре внутри UISearchDisplayController, поэтому я могу выполнить проверку, чтобы увидеть, есть ли только один результат, и если да, возьмите пользователь прямо к этому результату, вместо того, чтобы требовать от них явно сделать второй кран? Я просмотрел методы, предоставленные UISearchDisplayDelegate, но не вижу ничего соответствующего.

2 ответа

UISearchDisplayController имеет UISearchBar, вы можете установить делегат для строки поиска и реализовать -searchBarSearchButtonClicked:.


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

Это также работает с кнопкой поиска на клавиатуре.

licensed under cc by-sa 3.0 with attribution.