disable/hide 数据源为 nil 时的 UISearchBar
disable/hide UISearchBar when datasource is nil
我想确保当 table 视图的数据源为空时不显示任何搜索栏。 (有道理,不是吗?这不应该是默认行为吗?)
这是我的一段代码,它尝试(目前未注释)不同的事情来完成它,但不知何故它不起作用。
任何人都可以告诉我我做错了什么吗?如果您需要更多片段,请告诉我。
messagesArray=loadMessages()
DispatchQueue.main.async {
if (self.messagesArray.count==0){
self.noMessageview.isHidden=false
//self.searchController.searchBar.isHidden = true
//self.searchController.isActive = false
} else{
self.noMessageview.isHidden=true
//self.searchController.searchBar.isHidden = false
//self.searchController.isActive = true
}
self.spinner.stopAnimating()
self.refreshControl.endRefreshing()
self.tableView.reloadData()
}
更新:
我这样声明搜索控制器:
let searchController = UISearchController(searchResultsController: nil)
在 ViewDidLoad 中我这样做:
navigationItem.searchController = searchController
我相信您使用的是 iOS 11,因为从 navigationItem
设置了 UISearchController
,因此您可以使用以下代码将其删除:
if #available(iOS 11.0, *) {
self.navigationItem.largeTitleDisplayMode = .never;
self.navigationItem.searchController = nil
} else {
// Fallback on earlier versions
self.navigationItem.titleView = nil
};
我遇到了一些问题,我认为它是 iOS 11 错误,当删除 UISearchController
时,视图没有得到调整,因此我不得不在删除 [=12= 之前调用它].
self.navigationItem.largeTitleDisplayMode = .never;
就这些。
我想确保当 table 视图的数据源为空时不显示任何搜索栏。 (有道理,不是吗?这不应该是默认行为吗?)
这是我的一段代码,它尝试(目前未注释)不同的事情来完成它,但不知何故它不起作用。
任何人都可以告诉我我做错了什么吗?如果您需要更多片段,请告诉我。
messagesArray=loadMessages()
DispatchQueue.main.async {
if (self.messagesArray.count==0){
self.noMessageview.isHidden=false
//self.searchController.searchBar.isHidden = true
//self.searchController.isActive = false
} else{
self.noMessageview.isHidden=true
//self.searchController.searchBar.isHidden = false
//self.searchController.isActive = true
}
self.spinner.stopAnimating()
self.refreshControl.endRefreshing()
self.tableView.reloadData()
}
更新:
我这样声明搜索控制器:
let searchController = UISearchController(searchResultsController: nil)
在 ViewDidLoad 中我这样做:
navigationItem.searchController = searchController
我相信您使用的是 iOS 11,因为从 navigationItem
设置了 UISearchController
,因此您可以使用以下代码将其删除:
if #available(iOS 11.0, *) {
self.navigationItem.largeTitleDisplayMode = .never;
self.navigationItem.searchController = nil
} else {
// Fallback on earlier versions
self.navigationItem.titleView = nil
};
我遇到了一些问题,我认为它是 iOS 11 错误,当删除 UISearchController
时,视图没有得到调整,因此我不得不在删除 [=12= 之前调用它].
self.navigationItem.largeTitleDisplayMode = .never;
就这些。