我正在尝试将UISearchController放置在导航栏中,并在外部控制器中显示结果。
由于某些原因,当我输入内容时,导航栏会立即消失。
我已经尝试了几个小时的不同解决方案,但没有任何结果。看起来这是一个类似于在UISearchController文本字段中键入时导航栏消失和使用UISearchController重新加载数据时导航栏消失的问题,但都没有得到答案。
我尝试了以下代码:
。请注意:我只是几天前开始学习Swift,所以可能会漏掉一些非常明显的东西!谢谢,如果需要,我很乐意添加更多代码。
由于某些原因,当我输入内容时,导航栏会立即消失。
我已经尝试了几个小时的不同解决方案,但没有任何结果。看起来这是一个类似于在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
})()
我尝试了以下代码:
self.navigationController?.setNavigationBarHidden(true, animated: false)
,并且在viewdidload中加入了myResultsTableView.definesPresentationContext = true
。这是效果图:![<>](https://istack.dev59.com/nmJnO.webp)