我正在 iOS 7 上使用 SearchBar。在我的 ViewController 中,我在 viewDidLoad()
searchDisplay = UISearchDisplayController(searchBar: self.searchBar, contentsController: self)
searchDisplay?.searchResultsDataSource = self
searchDisplay?.searchResultsDelegate = self
当我单击搜索文本字段时, View 会发生变化,这就是我所看到的
仅当我开始输入时,我才会看到如下所示的行:
问题:我想在第一次单击搜索文本字段时预加载搜索结果。我怎样才能做到这一点?
- 我不想传递
""
。这将预加载搜索结果,但是当用户按下后退按钮时, View 将类似于图 1 - 有没有办法覆盖搜索栏。如果是,那么有人可以指导我如何进一步进行。 我正在寻找指导而不是确切的代码。
调试显示数据源方法被调用三次,但单击搜索栏文本字段时不显示任何内容
我使用的是 iOS 7 和 Xcode 7。请帮助我解决错误的地方...
最佳答案
我不太确定您到底想做什么,但以下是可以回答您的问题的方法:
第一:
当用户单击搜索栏时调用此函数。您可以使用它来编辑 searchBar 本身以开始使用不同的搜索栏进行搜索,或者调用 self.tableView.reloadData():
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool{
}
第二:
如果 searchText = ""在 tableView 中有行,则返回空的 UITableViewCell:
if searchBar.text == ""{
return UITableViewCell()
}
关于ios - 单击 + Swift 预加载 UISearchBar 显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546609/