我在视图控制器的viewDidLoad()中设置了searchController,如下所示。一个VC嵌入了表视图,另一个是UITableViewController。
我正在使用另一个VC来允许用户选择一个值并使用它来使用unwind segue过滤表项。
self.searchController.obscuresBackgroundDuringPresentation = false
self.searchController.hidesNavigationBarDuringPresentation = true
if #available(iOS 11.0, *) {
self.searchController.searchBar.delegate = self
self.navigationItem.searchController = self.searchController
self.navigationController?.navigationBar.prefersLargeTitles = true
self.searchController.searchBar.scopeButtonTitles = ["All", "<= 2", "<= 5", "<= 10"]
self.navigationItem.hidesSearchBarWhenScrolling = true
}
我在展开方法中执行以下操作。
DispatchQueue.main.async {
self.searchController.searchBar.text = searchText
let scope = self.searchController.searchBar.scopeButtonTitles![self.searchController.searchBar.selectedScopeButtonIndex]
self.filterContentForSearchText(searchText, scope: scope)
}
当加载带有数据的表时,搜索栏完全隐藏在导航栏下,但是当我为searchtext字段指定了不会从数据源中产生任何项目的值时,搜索字段清除图标显示如下。
我正在使用DZNEmptyDataSet框架来处理空视图。早些时候我已经从IB配置了搜索栏,而下面的问题没有来。当时也在使用DZNEmptyDataSet。
可能是什么问题?
Xcode 9.3 在11.3模拟器和8 Plus中进行测试。
由于 阿希什