当用户在UISearchDisplayController中按键盘上的“搜索”时收到通知

我正在使用UISearchDisplayController让用户搜索大学校园内的建筑物列表。 有时,用户将确切地知道他们想要的建筑物,输入建筑物的编号,然后该建筑物将是UITableView中显示的唯一建筑物结果。 此时,如果用户继续点击键盘上的“搜索”,则键盘会在屏幕上显示动画,然后用户必须再次点击UITableView中的唯一项目以发送到地图上的某个点那栋楼的位置。

我的问题是,当用户点击UISearchDisplayController内键盘上的“搜索”按钮时,有没有办法得到通知,这样我就可以检查是否只有一个结果,如果是,请直接让用户结果,而不是要求他们明确地进行第二次点击? 我查看了UISearchDisplayDelegate提供的方法,但看不到任何相关内容。

UISearchDisplayController有一个UISearchBar ,你可以为搜索栏设置一个委托并实现-searchBarSearchButtonClicked: .

 - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { } 

这也适用于键盘搜索按钮。