iPhone выполняет действие, когда UITextField / ясная кнопка UISearchBar нажимается

Действительно ли возможно получить доступ к методу делегата, который позволит дополнительным действиям быть выполненными, когда "ясная" кнопка будет нажата на UITextField / UISearchBar?

Спасибо

19
задан Dave 8 March 2010 в 21:35
поделиться

2 ответа

См .: Ссылка на протокол UITextFieldDelegate

Если вы установите контроллер представления в качестве делегата для текстового поля (это можно сделать в построителе интерфейса), вы можете использовать:

- (void)clearSearchTextField
{
  ...
}

- (BOOL)textFieldShouldClear:(UITextField *)textField
{
  if (textField == self.searchTextField) [self clearSearchTextField];
  return YES;
}
34
ответ дан 30 November 2019 в 03:20
поделиться

Когда вы очистите текстовое поле, произойдет несколько событий, к которым у вас будет доступ через UISearchDisplayDelegate или UISearchBarDelegate, например searchBar: textDidChange и searchDisplayController: shouldReloadTableForSearchString

. Это также приведет к тому, что таблица поиска будет скрыта, поэтому он сработает

searchDisplayController:willHideSearchResultsTableView  
searchDisplayController:didHideSearchResultsTableView

Когда таблица поиска будет скрыта, вы можете проверить если поисковый текст пуст, сделайте все, что вам нужно.

0
ответ дан 30 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: