如何在按下UISearch栏"搜索"按钮时关闭键盘?

cgo*_*ain 22 objective-c uisearchbar ios

我已经实现了一个设置了搜索功能的UISearch栏,但是当我按下键盘上的"搜索"按钮时,没有任何反应.如何在按住"搜索"按钮的同时保持键盘隐藏,同时保持搜索栏中的文本不变(保持搜索结果存在)?

rob*_*off 51

来自iOS的文本,Web和编辑编程指南:

要关闭键盘,请调用当前第一个响应者的基于文本的视图的resignFirstResponder方法.

所以你应该在你的UISearchBarDelegate:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
    // Do the search...
}
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说只是部分工作,因为如果我辞职第一响应者,取消按钮被禁用...它不会使其启用接收触摸. (6认同)

小智 5

Swift 4
确保在 UIViewController 中定义了 UISearchBarDelegate

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

Run Code Online (Sandbox Code Playgroud)