你好谢谢你提前回答我有两个问题首先如何让搜索栏像设置一样在没有搜索但背景显示设置时如何显示搜索栏第二个是如何从静态表格 View 显示搜索结果
searchController = UISearchController(searchResultsController: nil)
searchController?.searchBar.delegate = self
searchController?.dimsBackgroundDuringPresentation = true
searchController?.searchResultsUpdater = self
navigationItem.searchController = searchController
最佳答案
如果我对您的问题的理解正确,您有一个空的 UITableView,并且您希望在尚未执行任何搜索时有一个搜索栏。然后,您希望搜索结果显示在该 TableView 中。
首先,我建议始终将搜索栏放在表格 View 的顶部,以便用户可以在第一次搜索后执行另一次搜索。但如果这不是您的目标,您可以采用以下方法:
var didPerformSearch: Bool = false
然后,当用户执行第一次搜索时,将其设置为 true。然后有:
if didPerformSearch == true {
yourSearchBar.isHidden = true
}else{
yourSearchBar.isHidden = false
}
此外,您的结果 TableView 必须是动态的,因为搜索结果的数量和搜索结果本身会因搜索而异。
因此,使用动态 TableView 和 UITableViewDelegate
和 UITableviewDataSource
或 UITableViewController
来显示您的搜索结果,我不能向您展示如何操作,因为我不知道您如何获得搜索结果。
希望我有所帮助!
编辑:
好的,所以在阅读了您的评论后,我真正理解了您想要做什么。
您可以使用 resultsTableView.isHidden = true
在 ViewController
之上为搜索结果创建一个 TableView 。
然后,当用户点击搜索栏时,您将设置 resultsTableView.isHidden = false
或
你甚至可以像这样制作动画:
UIView.animate(duration: 0.2) {
结果 TableView .alpha = 1
}
(设置为 1 显示,设置为 0 隐藏)
关于ios - 如何使搜索栏像 Iphone 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51404045/