Как скрыть всплывающий UISearchController - PullRequest
0 голосов
/ 10 января 2019

Я новичок в Swift. Я получил ViewController, который содержит TableView.

    let searchController = UISearchController(searchResultsController: nil) 

Я реализовал для поиска UISearchController и вызвал его методом:

    func search() {
    searchController.searchResultsUpdater = self
    searchController.hidesNavigationBarDuringPresentation = false
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.sizeToFit()
    userTableView.tableHeaderView = searchController.searchBar
}

Я связал метод search () с BarButtonItem. Появляется SearchField, но когда я хочу закрыть его с помощью:

    searchController.isActive = false

это не закрывает. Есть ли конкретный способ сделать это, или я сделал что-то не так.

1 Ответ

0 голосов
/ 10 января 2019

Вы добавляете панель поиска в представление, но не удаляете ее.

searchController.isActive = false просто останавливает отображение результатов поиска / отклоняет его и удаляет фокус из панели поиска

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

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