iPhone SDK:UISearchBar:searchBarTextDidEndEditing未触发

Nic*_*ick 4 iphone uisearchbar

我正在我的桌子上实现一个搜索栏,这应该是非常简单的.我有这些:

- (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];
}
Run Code Online (Sandbox Code Playgroud)

触发了searchBarTextDidBeginEditing,我在日志中收到了该消息,但是当我在搜索栏外面点击键盘上方时,我没有得到searchBarTextDidEndEditing事件,所以我无法使键盘消失 - 消息甚至没有出现在日志中.

textDidChange正在工作,所以它只是searchBarTextDidBeginEditing而不是.

有任何想法吗?谢谢!!

小智 9

即使我遇到同样的问题.

请找到以下解决方案

实现以下方法

1.searchBarTextDidEndEditing
2.searchBarSearchButtonClicked

并确保您[UISearchchbar resignfirstresponder] 使用上述第二种方法