Я делаю приложение со списком криптовалют. В этих 3 отфильтрованных списках должна быть возможность выполнять поиск (BT C, ETH, USD). Единственная проблема, с которой я столкнулся, связана с панелью поиска.


Как только Я нажимаю на значок «увеличительное стекло», панель поиска отображается, но все приложение зависает. Я не могу нажать «Отмена», ввести строку, закрыть ее и переместить UITableView. Я не понимаю причину такого поведения.
var searchController : UISearchController!
@IBAction func searchingButton(_ sender: Any) {
searchController = UISearchController(searchResultsController: nil)
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.searchBar.placeholder = "All currency pairs"
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchResultsUpdater = self
definesPresentationContext = true
navigationItem.searchController = self.searchController
navigationItem.hidesSearchBarWhenScrolling = false
searchButton.isHidden = true
present(searchController, animated: true, completion: nil)
}
extension ViewController: UISearchControllerDelegate {
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
navigationItem.searchController = nil
navigationController?.view.setNeedsLayout()
navigationController?.view.layoutIfNeeded()
self.indexChange(self.segmentedControl!)
}
}
Пожалуйста, помогите мне с этой проблемой. При необходимости будет предоставлен дополнительный код.