Почему searchController вложен в tableView, прокручиваемый под панелью навигации? - PullRequest
1 голос
/ 27 января 2020

У меня есть tableViewController на раскадровке. Я программно добавил searchController в заголовок таблицы.

private func setupSearchView(){
    if !showSearchBar { return }
    let storyboard = UIStoryboard(name: "Search", bundle: nil)
    resultViewController =
        storyboard.instantiateViewController(withIdentifier: "NewSearchTableViewController") as? SearchResultTableViewController
    searchController = UISearchController(searchResultsController: resultViewController)

    resultViewController?.tableView.delegate = self
    searchController.delegate = self
    searchController.searchResultsUpdater = self
    searchController.searchBar.delegate = self // Monitor when the search button is tapped.

    searchController.hidesNavigationBarDuringPresentation = false
    searchController.dimsBackgroundDuringPresentation = false
    tableView.tableHeaderView = searchController.searchBar
    searchController.searchBar.sizeToFit()
    searchController.searchBar.placeholder = "Search here...".localized
    definesPresentationContext = true

}

Когда я выбрал ячейку в таблице и перешел на экран сведений - он работает отлично. Но когда я нажал кнопку назад, панель поиска прокручивалась под панелью навигации.

Нормальное поведение

Плохое поведение после нажатия кнопки назад

...