Все приложение зависает при открытии UISearchController в NavigationBar - PullRequest
0 голосов
/ 14 февраля 2020

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

Before opening Search Bar

After opening Search Bar

Как только Я нажимаю на значок «увеличительное стекло», панель поиска отображается, но все приложение зависает. Я не могу нажать «Отмена», ввести строку, закрыть ее и переместить 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!)
    }
}

Пожалуйста, помогите мне с этой проблемой. При необходимости будет предоставлен дополнительный код.

1 Ответ

0 голосов
/ 14 февраля 2020

Ну, это странно, но помогла очистка проекта и перезагрузка системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...