это то, что я сделал
Чтобы убрать клавиатуру после возврата на пустое место:
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if ([searchText isEqualToString:@""]) {
[searchBar resignFirstResponder];
}
}
вам также нужно будет установить ваше поле uitext в пределах вашей панели uisearch для того же делегата, не забудьте добавить к этому делегату (в контексте моего кода делегат self)
for (UIView *view in searchBar.subviews){
if ([view isKindOfClass: [UITextField class]]) {
UITextField *tf = (UITextField *)view;
tf.delegate = self;
break;
}
}
добавив их к вашему делегату
- (void)searchBarCancelButtonClicked:(UISearchBar *) aSearchBar {
[aSearchBar resignFirstResponder];
}
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
[self performSelector:@selector(searchBarCancelButtonClicked:) withObject:textField.superview afterDelay: 0.1];
return YES;
}
когда любой из этих триггеров, выполните поиск "" строки