【发布时间】:2016-01-06 12:28:03
【问题描述】:
我在ViewDidLoad() 中将SearchBar 添加到我的TableView 中:
self.searchBar = UISearchController(searchResultsController: nil)
self.searchBar.searchResultsUpdater = self
self.searchBar.dimsBackgroundDuringPresentation = false
self.searchBar.searchBar.sizeToFit()
self.tableView.tableHeaderView = self.searchBar.searchBar
self.tableView.reloadData()
一切正常,但是当我点击此SearchBar 时,它消失了。这意味着,我仍然可以打字,并且可以看到结果,但是看不到 SearchBar。我实现了UISearchBarDelegate,我一直在尝试添加
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = false
}
func searchBarTextDidEndEditing(searchBar: UISearchBar) {
self.navigationController?.navigationBarHidden = true
}
但它仍然不起作用。你知道为什么这个Search Bar 会消失吗?
这个问题的解决方法是(像@sandy sad)在viewDidLoad()写这行代码
self.aNavigationController?.extendedLayoutIncludesOpaqueBars = true
但是现在我遇到了一个新问题,这意味着当我在TableView 中选择行并显示新的VievController 时,SearchBar 并没有消失,我在新视图中看到了它。为什么?
【问题讨论】:
标签: ios iphone swift uisearchbar uisearchcontroller