UISearchController 搜索栏不隐藏导航栏
UISearchController search bar does not hide navigation bar
我有一个 UITableViewController
作为我 UINavigationController
的根。激活搜索栏不会隐藏导航栏。我尝试了很多不同的配置,其中 none 似乎有效。
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
这是我的屏幕在激活时的样子。
为什么这没有按预期工作?
编辑:视图也没有变暗
您可能需要这一行,我认为这可以解决您的问题:
search_controller. hidesNavigationBarDuringPresentation = true
我终于明白了。 UISearchController
需要分配给 class 变量,以便编译器不会处理它。
@search_controller = UISearchController.alloc
.initWithSearchResultsController(nil)
@search_controller.searchBar.sizeToFit
@search_controller.searchBar.delegate = self
table_header_view @search_controller.searchBar
希望这对以后的人有所帮助,这样他们就不必浪费时间思考为什么它不起作用。
我有一个 UITableViewController
作为我 UINavigationController
的根。激活搜索栏不会隐藏导航栏。我尝试了很多不同的配置,其中 none 似乎有效。
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
这是我的屏幕在激活时的样子。
为什么这没有按预期工作?
编辑:视图也没有变暗
您可能需要这一行,我认为这可以解决您的问题:
search_controller. hidesNavigationBarDuringPresentation = true
我终于明白了。 UISearchController
需要分配给 class 变量,以便编译器不会处理它。
@search_controller = UISearchController.alloc
.initWithSearchResultsController(nil)
@search_controller.searchBar.sizeToFit
@search_controller.searchBar.delegate = self
table_header_view @search_controller.searchBar
希望这对以后的人有所帮助,这样他们就不必浪费时间思考为什么它不起作用。