UISearchBar searchBarCancelButton没有使用Swift 3调用

Kev*_*ann 5 uisearchbar ios swift swift3

出于某种原因,当我点击UISearchBar中的圆圈x取消按钮时,searchBarCancelButtonClicked事件没有触发,它在一个快速的2项目中工作,但在这个快速的3项目中没有.

我现在扩展我的视图控制器而不是内联类方式,但我相信这是有效的,因为searchBarSearchButtonClicked事件确实有效.这是我到目前为止:

extension MyViewController: UISearchBarDelegate {
   func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
      print("here?")
      searchBar.resignFirstResponder()
      handleCancelSearch()
    }

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        searchBar.resignFirstResponder()
        if let searchText = searchBar.text {
            performSearchUsing(term:searchText)
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

未记录打印并且未调用该函数.我错过了一些傻事吗?

Nic*_*apu 5

也许您像我一样错过了一些愚蠢的东西,“圆圈 x”实际上并不是取消按钮,我也认为,默认情况下取消按钮处于禁用状态,您可以通过搜索栏属性上的故事板激活它,或者您可以通过以下方式以编程方式完成:

searchBar.showsCancelButton = true

Run Code Online (Sandbox Code Playgroud)

之后,该方法应该有效。