导航栏将在搜索结果表视图中消失

Arn*_*ret 6 uinavigationbar uitableview ios swift uisearchcontroller

我试图在导航栏中有一个UISearchController并在外部控制器中显示结果.

出于某种原因,只要我输入内容,导航栏就会消失

我一直尝试不同的解决方案几个小时没有结果.看起来这是一个类似的问题,因为在UISearchController文本字段中输入时导航栏消失,如果使用UISearchController重新加载数据但没有得到任何答案, 导航栏就会消失.

self.cearchController = ({
        //creating another tableview
        let storyBoard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
        let alternateController:SearchResultsTableViewController = storyBoard.instantiateViewControllerWithIdentifier("SearchResultsTableViewController") as! SearchResultsTableViewController
        let controller = UISearchController(searchResultsController: alternateController)
        controller.hidesNavigationBarDuringPresentation = false
        controller.dimsBackgroundDuringPresentation = false
        controller.searchResultsUpdater = alternateController
        controller.searchBar.sizeToFit()
        controller.searchBar.placeholder = "Search"

        self.navigationItem.titleView = controller.searchBar


        return controller
    })()
Run Code Online (Sandbox Code Playgroud)

我试过了 self.navigationController?.setNavigationBarHidden(true, animated: false)

我有 myResultsTableView.definesPresentationContext = true

在viewdidload中

这是它的样子: <>

注意:我几天前刚开始使用swift,所以我可能会遗漏一些非常明显的东西!

谢谢,并乐意添加更多代码

小智 2

因此,当显示搜索结果时,我遇到了类似的导航栏消失的问题。但controller.hidesNavigationBarDuringPresentation = false 为我解决了这个问题。

也许尝试使用 tableView.tableHeaderView = searchController.searchBar 而不是 self.navigationItem.titleView = controller.searchBar