我有一堆搜索框。在搜索框下面有表格视图。
如果用户点击了桌面视图(或搜索框外的任何内容),我希望搜索框失去第一响应者状态。
但是,tableview没有修饰操作。
所以我在tableview后面添加一个大按钮。希望通过大按钮处理修饰事件。
鉴于表格视图完全覆盖了tableview,这不起作用。
那我该怎么办?
答案 0 :(得分:1)
我不确定您是使用searchDisplayController还是仅使用searchBar。但是如果你使用searchDisplayController,你可以实现委托方法
-(void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller
用户点击取消或透明视图(空搜索)时将调用。
另一种解决您的案例的方法是设置bool以检查搜索框是否正在保持响应者(在搜索获取响应者时设置它)。在cellForRowAtIndexPath中,检查该值是否为resignFirstResponder并设置为false。
希望这个帮助
更新:Apple的sample code使用searchDisplayController