iPhone SDK: UISearchBar: searchBarTextDidEndEditin

2019-01-26 15:43发布

问题:

I'm implementing a search bar on my table, which should be pretty straight forward. I've got these:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)theSearchBar { 
 NSLog(@"searchBarTextDidBeginEditing");
}

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {    
    NSLog(@"The search text is: %@", searchText);
}

- (void)searchBarTextDidEndEditing:(UISearchBar *)theSearchBar {
    NSLog(@"searchBarTextDidEndEditing");
    [theSearchBar resignFirstResponder];
}

And searchBarTextDidBeginEditing fires, and I get that message in my log, but when I tap outside the search bar, above the keyboard, I don't get the searchBarTextDidEndEditing event so I can't make the keyboard disappear – the message doesn't even appear in the log.

The textDidChange is working, so it's just searchBarTextDidBeginEditing that isn't.

Any ideas? Thanks!!

回答1:

Even i faced the same problem.

Please find with the solution below

Implement Below methods

1.searchBarTextDidEndEditing
2.searchBarSearchButtonClicked

and make sure you [UISearchchbar resignfirstresponder] in the second method mentioned above



回答2:

Once I implemented searchBarSearchButtonClicked that solved it for me.