UISearchDisplayController

UISearchDisplayController

我正在开发要实现搜索功能的iOS项目。我正在使用UISearchBarUISearchDisplayController,我想隐式隐藏UISearchBar。当用户点击UIBarButtonItem时,搜索栏将出现,并显示“becomeFirstResponder”,而当用户单击搜索栏中的Cancel按钮时,它应消失。

外观工作正常,但是消失时我遇到了问题。当用户点击Cancel按钮(searchBarCancelButtonClicked方法)时,我设法隐藏了搜索栏,但是当UISearchDisplayController中的灰色(变暗)背景被点击时,我无法隐藏搜索栏。据我所知,没有方法可以检测到此事件,因此有必要进行一些修改。您知道吗,或者检测灰色背景上敲击的最佳方法是什么?

最佳答案

所以我终于解决了。除了searchBarCancelButtonClicked:(UISearchBar *)searchBar之外,还必须将搜索栏隐藏在searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller中。看起来,即使在点击灰色(变暗)背景时也会调用此回调,因此可以轻松地使用它来隐藏搜索栏。

关于iphone - 如何在UISearchDisplayController中检测灰色(变暗)背景上的轻击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10855906/

10-11 14:06