mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
修复可能错误过滤搜索词的问题。
This commit is contained in:
parent
a25f7bc09d
commit
151a74fcee
@ -59,6 +59,7 @@ class MessageListViewController: BaseViewController {
|
|||||||
override func makeUI() {
|
override func makeUI() {
|
||||||
navigationItem.searchController = UISearchController(searchResultsController: nil)
|
navigationItem.searchController = UISearchController(searchResultsController: nil)
|
||||||
navigationItem.searchController?.obscuresBackgroundDuringPresentation = false
|
navigationItem.searchController?.obscuresBackgroundDuringPresentation = false
|
||||||
|
navigationItem.searchController?.delegate = self
|
||||||
|
|
||||||
navigationItem.setBarButtonItems(items: [UIBarButtonItem(customView: deleteButton), UIBarButtonItem(customView: groupButton)], left: false)
|
navigationItem.setBarButtonItems(items: [UIBarButtonItem(customView: deleteButton), UIBarButtonItem(customView: groupButton)], left: false)
|
||||||
|
|
||||||
@ -234,10 +235,25 @@ extension MessageListViewController: UITableViewDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension MessageListViewController {
|
extension MessageListViewController: UISearchControllerDelegate{
|
||||||
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
|
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
|
||||||
if self.navigationItem.searchController?.searchBar.isFirstResponder == true{
|
if self.navigationItem.searchController?.searchBar.isFirstResponder == true{
|
||||||
self.navigationItem.searchController?.searchBar.resignFirstResponder()
|
self.navigationItem.searchController?.searchBar.resignFirstResponder()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
func willDismissSearchController(_ searchController: UISearchController) {
|
||||||
|
if !searchController.searchBar.isFirstResponder{
|
||||||
|
/*
|
||||||
|
searchBar 不在焦点时,点击搜索框右边的取消按钮时,不会触发 searchBar.rx.text 更改事件
|
||||||
|
searchBar.rx.text 将一直保留为最后的文本
|
||||||
|
但我们预期是要更新为 nil 的,因为再次点击searchBar,searchBar.text 显示的是 nil
|
||||||
|
可能对用户造成困惑,搜索框里没有输入任何keyword,但消息列表却被错误的keyword过滤了
|
||||||
|
|
||||||
|
另外直接给 text 赋值,并不能触发 searchBar.rx.text,
|
||||||
|
需要手动发送一下actions
|
||||||
|
*/
|
||||||
|
searchController.searchBar.searchTextField.text = nil
|
||||||
|
searchController.searchBar.searchTextField.sendActions(for: .editingDidEnd)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user