导航栏在搜索结果表视图中消失
Posted
技术标签:
【中文标题】导航栏在搜索结果表视图中消失【英文标题】:The navigation bar disappears in the search result table view 【发布时间】:2015-05-23 07:15:02 【问题描述】:我试图在导航栏中有一个 UISearchController 并在外部控制器中显示结果。
由于某种原因,我在输入内容时导航栏消失了
我已经尝试了几个小时的不同解决方案,但没有任何结果。看起来它与Navigation bar disappears when typing in UISearchController text field 和 Navigation bar disappears if reload data with 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)
我有
myResultsTableView.definesPresentationContext = true
在viewdidload中
这就是它的样子:
注意:我几天前才开始使用 swift,所以我可能遗漏了一些非常明显的东西!
感谢并很高兴添加更多代码
【问题讨论】:
你能检查一下是不是键盘出现的时候?使用这个:navigationController?.hidesBarsWhenKeyboardAppears = false // 同样,检查这个链接natashatherobot.com/navigation-bar-interactions-ios8 您找到问题的解决方案了吗?我面临着类似的问题,找不到它的根本原因。 【参考方案1】:所以当我的搜索结果显示时,我遇到了导航栏消失的类似问题。但是 controller.hidesNavigationBarDuringPresentation = false 对我有用。
也许尝试使用 tableView.tableHeaderView = searchController.searchBar 而不是 self.navigationItem.titleView = controller.searchBar
【讨论】:
以上是关于导航栏在搜索结果表视图中消失的主要内容,如果未能解决你的问题,请参考以下文章
UISearchBar 不在 TableViewController 的表视图标题中?
Xcode 快速导航栏在模拟器运行时消失,但在情节提要中不会
iOS:使导航栏在 UITableViewController 中始终可见