iOS8 Swift UISearchController hides navigationbar

2019-04-29 03:28发布

问题:

I implemented a search function for an UITableViewController like this:

    self.resultSearchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.dimsBackgroundDuringPresentation = false
        controller.searchBar.sizeToFit()

        self.tableView.tableHeaderView = controller.searchBar
        return controller
    })()

The problem I've been experiencing is that if I click on it, my navigation bar and my navigationcontrollers header disappear. Is there a solution to stop this behaviour (in swift)?

Not clicked:

Clicked:

回答1:

The UISearchController has a property called hidesNavigationBarDuringPresentation, maybe that can help you.

EDIT: Just tried it myself and it works, just add this line:

searchController.hidesNavigationBarDuringPresentation = false