【问题标题】:How to dismiss keyboard when the UISearch Bar 'Search" button is pressed?按下搜索栏“搜索”按钮时如何关闭键盘?
【发布时间】:2019-03-18 11:02:31
【问题描述】:

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

【问题讨论】:

    标签: objective-c ios uisearchbar


    【解决方案1】:

    来自Text, Web and Editing Programming Guide for iOS

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

    所以你应该在你的UISearchBarDelegate

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

    【讨论】:

    • 这对我来说只是部分工作,因为如果我辞职第一响应者,取消按钮将被禁用......它不会保持启用以接收触摸。
    • UISearchBar 的取消按钮的存在是为了为 iPhone 用户提供一种关闭键盘的方式,因为 iPhone 键盘没有关闭按钮。如果您出于其他原因需要取消按钮,则必须自己实现它,因为 UISearchBar 无法让您完全访问该控件。
    • 我收到此错误消息,致命错误:数组索引超出范围
    【解决方案2】:

    斯威夫特 4
    确保在 UIViewController 中定义了 UISearchBarDelegate

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多