iPhone SDK: UISearchBar: searchBarTextDidEndEditing not firing
I'm implementing a search bar on my table, which should be pretty straight forward. I've go开发者_运维百科t 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!!
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
Once I implemented searchBarSearchButtonClicked that solved it for me.
The method
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
is only called when [searchBar resignFirstResponder]
is called.
The best place to call [searchBar resignFirstResponder]
is in the method
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
In swift:
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar;
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar;
精彩评论