我遇到了与Apple bug report中描述的问题类似的问题。

基本上,将文本粘贴到UISearchBar(UISearchController的一部分)中时,键盘上未启用返回键。 (尽管在键入字符时启用了该功能)。

本质上,enablesReturnKeyAutomatically被忽略,因为默认情况下此属性应为true

复制步骤:

  • UISearchBarUISearchController成为第一响应者。
  • 将文本粘贴到UISearchBar
  • 在键盘上按Search按钮

  • 预期结果:
  • 搜索按钮已启用。

  • 实际结果:
  • 搜索按钮保持禁用状态。



  • 即使这似乎是一个错误,是否有针对此特定问题的解决方法?特别是某些应用程序,例如Twitter或Product Hunt,以某种方式得到了解决。

    最佳答案

    下面将做到这一点。请注意,如果粘贴到已经有文本的搜索栏中,则搜索按钮将已启用,因此仅当当前搜索文本为空时才需要特殊情况。

    func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if text.characters.count > 0 && range.length == 0 && range.location == 0 {
            dispatch_async(dispatch_get_main_queue()) {
                searchBar.resignFirstResponder()
                searchBar.becomeFirstResponder()
            }
        }
        return true
    }
    

    关于ios - 粘贴到UISearchController的UISearchBar时启用返回键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38191290/

    10-10 11:52
    查看更多