UISearchController 搜索栏不隐藏导航栏
Posted
技术标签:
【中文标题】UISearchController 搜索栏不隐藏导航栏【英文标题】:UISearchController search bar does not hide navigation bar 【发布时间】:2015-08-19 06:49:34 【问题描述】:我有一个UITableViewController
作为我的UINavigationController
的根。激活搜索栏不会隐藏导航栏。我尝试了很多不同的配置,但似乎没有一个可以工作。
class TableViewController < UITableViewController
def viewDidLoad
search_controller = UISearchController.alloc.initWithSearchResultsController(nil)
search_controller.searchResultsUpdater = self
search_controller.searchBar.delegate = self
search_controller.searchBar.sizeToFit
self.definesPresentationContext = true
self.tableView.tableHeaderView = search_controller.searchBar
end
end
这是我的屏幕激活后的样子。
为什么这没有按预期工作?
编辑:视图也没有变暗
【问题讨论】:
【参考方案1】:我终于明白了。 UISearchController
需要分配给类变量,以便编译器不会释放它。
@search_controller = UISearchController.alloc
.initWithSearchResultsController(nil)
@search_controller.searchBar.sizeToFit
@search_controller.searchBar.delegate = self
table_header_view @search_controller.searchBar
希望这对将来的某人有所帮助,这样他们就不必浪费时间去想为什么它不起作用。
【讨论】:
【参考方案2】:你可能需要这条线,我想这会解决你的问题:
search_controller. hidesNavigationBarDuringPresentation = true
【讨论】:
以上是关于UISearchController 搜索栏不隐藏导航栏的主要内容,如果未能解决你的问题,请参考以下文章
UISearchController:即使搜索栏为空也显示结果
使用ios 8 UISearchController单击搜索栏时如何隐藏部分标题?
tvOS UISearchController - 滚动时如何避免自动搜索栏和键盘隐藏行为?