开发者

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;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜