boi*_*kan 8 uitableview uisearchbar ios swift uisearchcontroller
所以,我目前正在尝试用UISearchController替换我的一个项目中的depricated searchDisplayController,我遇到了这个问题.
如果搜索中没有结果(UITableView为空),则整个ViewController被解除.当搜索结果不为空时,不会发生这种情况.我不想说清楚我没有使用UITableViewController.相反,我有一个带有UITableView的常规VC.
这是我的一些代码:
var resultSearchController = UISearchController()
override func viewDidLoad() {
super.viewDidLoad()
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.delegate = self
controller.searchBar.delegate = self
self.studentTable.tableHeaderView = controller.searchBar
return controller
})()
....
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我将此函数添加到等式中,则取消按钮始终会取消VC.
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
resultSearchController.active = false
}
Run Code Online (Sandbox Code Playgroud)
那么为什么要设置searchController.active = false解雇VC呢?是因为它使用与VC相同的UITableView吗?我相信旧的searchDisplayController只会显示一个正在使用的UITableView.如果是这种情况有没有办法覆盖dismissVC?
这也发生在我身上。我解决这个问题的方法是替换:
resultSearchController.active = false
Run Code Online (Sandbox Code Playgroud)
和
resultSearchController.searchBar.text = ""
resultSearchController.searchBar.resignFirstResponder()
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你 :-)
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |