У меня возникли трудности с тем, чтобы панель поиска в моем поисковом контроллере стала первым ответчиком.Я заметил, что методы делегата не вызываются, но панель поиска работает, как и предполагалось, когда я печатаю для фильтрации списка пользователей.
Определение searchcontroller:
lazy var searchController: UISearchController = {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search"
return searchController
}()
Настройкаэто вверх:
private func setupSearchController() {
self.navigationItem.searchController = searchController
searchController.definesPresentationContext = true
searchController.delegate = self
searchController.isActive = true
searchController.searchBar.delegate = self
searchController.searchBar.becomeFirstResponder()
}
Я попробовал это предложение из другого вопроса SO, но метод делегата не вызывается:
func didPresentSearchController(searchController: UISearchController) {
UIView.animate(withDuration: 0.1, animations: { () -> Void in }) { (completed) -> Void in
searchController.searchBar.becomeFirstResponder()
}
}