我有这种情况:
用户在UISearchBar中搜索客户端 - 结果显示在弹出控制器中,搜索是自动填充的,如google - 在D中键入,您可以使用D获得所有结果,添加&r; #39;所以它的博士和你的结果只过滤到那些有博士的人。 popovercontroller的viewcontroller是一个tableviewcontroller。用户从表中选择一个结果,popovercontroller关闭并打开第二个结果,同时还有一个tableviewcontroller,其中包含与所选客户端关联的项目。此时键盘仍然显示,这很好。但是,当他们在此tableview中选择一行时,键盘应该关闭。
我尝试在tableview控件的didSelectRowAtIndexPath方法中以及在我的根视图控制器中的popoverControllerDidDismissPopover方法中放置[self setEditing:NO animated:YES],但键盘没有被忽略。
还试过这个:
我不明白谁在这里拥有键盘?
答案 0 :(得分:0)
设置UISearchBar的委托:UISearchBarDelegate并添加适当的方法。
在界面构建器中,单击搜索栏并将代理从连接选项卡拖到当前视图控制器;然后添加到该视图控制器的实现并调用此委托方法。
-(void)searchBarSearchButtonClicked:(UISearchBar*)searchBar
{
[searchBar resignFirstResponder];
}
或者创建一个UISearchBar属性并在didSelectRowAtIndexPath中重新签名该属性
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.searchBar resignFirstResponder];
.... // Your code
.... // Your code
}