Wil*_* Hu 1 ios swift uisearchcontroller
按下以显示ViewController搜索功能时,我有一个搜索按钮。该视图控制器包含UITableView和UISearchController。
一切正常,但在我选择搜索结果之一之后。我想直接关闭该视图控制器,但是首先选择取消取消,然后再次选择将关闭视图控制器。像下面一样,我只想一个选择解雇。谢谢!
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
searchViewController.searchBar.resignFirstResponder()
self.dismissViewControllerAnimated(false, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
编辑
let searchViewController = UISearchController(searchResultsController: nil)
func configureSearchController() {
tableView.tableHeaderView = searchViewController.searchBar
searchViewController.delegate = self
searchViewController.searchResultsUpdater = self
self.definesPresentationContext = true
searchViewController.dimsBackgroundDuringPresentation = false
}
Run Code Online (Sandbox Code Playgroud)
小智 5
以下两个步骤可以满足您的需求:
首先,您需要在选择行后取消搜索,如下所示:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
searchController.active = false
}
Run Code Online (Sandbox Code Playgroud)
其次,您需要实现UISearchControllerDelegate的委托方法之一,以便在“取消”搜索时关闭视图控制器:
extension SearchViewController: UISearchControllerDelegate {
func willDismissSearchController(searchController: UISearchController) {
print("Will dimiss search controller")
self.dismissViewControllerAnimated(true, completion: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
534 次 |
| 最近记录: |