不使用导航控制器的 UISearchController

UISearchController without use of Navigation Controller

是否可以在 Navigation Controller 中不显示 SearchBar 的情况下使用 UISearchController?我基本上希望 SearchBar 留在屏幕上并在其下方显示 TableView:

我想做的是: 我在故事板上创建了一个 UITableViewController 并将其链接到自定义 NPTableViewController class。然后我这样做了:

    let resultsTable = storyboard!.instantiateViewController(withIdentifier: "LocationSearch") as! NPTableViewController
    searchController = UISearchController(searchResultsController: resultsTable)
    searchController?.searchResultsUpdater = resultsTable

    let searchBar = searchController!.searchBar
    searchBar.sizeToFit()
    searchBar.placeholder = "Search for places"
    searchBar.frame.origin.y = 100.0
    self.view.addSubview(searchBar)

现在当我 运行 它时,显示 searchBar 但是当我点击它时背景变暗, searchBar 消失 我的 resultsTable 也没有显示.

我想到的解决办法其实很简单。我没有使用 UISearchController,而是使用了正常的 UISeachBarUITableView。由于 UISearchController 对您的帮助不大,如果我构建自己的 SearchController,工作几乎相同。