我已经添加了UISearchBar一个UICollectionView和一个委托searchBar:textDidChange:过滤器我的模型和调用[collectionView reloadData].reloadData(以及reloadSection等)想要从搜索栏的文本字段中取走firstResponder,从而解雇键盘.
我正在尝试构建一个"实时更新"过滤器,因此在键入每个字符后让键盘消失是很烦人的.
有任何想法吗?
我有一个UITableView的UISearchBar,实现如下:
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[self.searchBar becomeFirstResponder];
if(searchText.length == 0)
{
self.isFiltered = NO;
}
else
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.writer1 contains[c] %@", searchText];
self.isFiltered = YES;
[[RTRepairOrderStore sharedStore] filterROArray:predicate];
}
[self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我在搜索栏中输入一个字母后,搜索就可以了,但是键盘立即被关闭了。我该如何预防?