Использование gotFirstResponder приводит к тому, что кнопка отмены не работает.
-
21-12-2019 - |
Вопрос
у меня есть UISearchDisplayController
(searchDisplayCtr) и UISearchBar
(панель поиска).Я пытаюсь сосредоточить внимание на панели поиска и вызвать клавиатуру, когда нажимаю значок поиска в прокрутке алфавита справа.Если я включу,
[self.searchDisplayCtr setActive:YES];
[self.searchDisplayCtr.searchBar becomeFirstResponder];
Он вызывает клавиатуру и выбирает панель поиска, но кнопка отмены не работает постоянно.Я попытался отказаться от службы экстренного реагирования, установив для параметра «активно» значение «НЕТ», и то и другое в searchDisplayControllerWillEndSearch
, но это не помогает.Кнопка отмены будет работать только в том случае, если на прокрутке алфавита еще не были нажаты никакие другие буквы.
Решение
Очевидно, необходимо прокрутить таблицу вверх, прежде чем назначать первого ответчика.В итоге код оказался
[tableView setContentOffset:CGPointMake(0, 0) animated:NO];
[self.searchBar becomeFirstResponder];