【发布时间】:2018-07-04 15:53:57
【问题描述】:
我正在将一个 viewController 推到我想要一个 searchBar 的地方,但根本没有显示搜索栏。下面是代码。我错过了什么吗?
var searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search here..."
definesPresentationContext = true
searchController.searchBar.delegate = self
searchController.searchBar.sizeToFit()
if #available(iOS 11.0, *) {
self.navigationItem.searchController = searchController
} else {
// Fallback on earlier versions
navigationItem.titleView = searchController.searchBar
navigationItem.titleView?.layoutSubviews()
}
【问题讨论】:
-
我使用了你的代码,它正在工作
-
你是如何推动新的视图控制器的?
-
我正在使用这个 - let destinationVC = storyboard.instantiateViewController(withIdentifier:"someVC") vc.show(destinationVC, sender: self)
-
通过添加这一行解决了这个问题 - navigationItem.hidesSearchBarWhenScrolling = false
-
除非您自己创建,否则我认为您不能将它放在导航栏上方
标签: ios swift uinavigationbar ios11 uisearchcontroller