按下回车键或用户触摸其他地方时,UISearchBar
不会关闭键盘。
我需要使用 iOS 键盘右下角的移除键盘按钮来移除键盘并调用:
- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar
我该如何解决?
按下回车键或用户触摸其他地方时,UISearchBar
不会关闭键盘。
我需要使用 iOS 键盘右下角的移除键盘按钮来移除键盘并调用:
- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar
我该如何解决?
- (void)searchBarTextDidEndEditing:(UISearchBar *)aSearchBar {
[aSearchBar resignFirstResponder];
}
您还必须为 UISearchBar 设置委托:UISearchBarDelegate
它应该工作。
另一个选项是我们可以使用的 searchBarSearchButtonClicked。
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
// You can write search code Here
}
在 .h 中添加UISearchBarDelegate
还将SearchBar 的对象委托设置为 self。
你应该做 addUISearchBarDelegate
的方法:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
// Do the search...
}
编辑:上面不起作用然后添加:
[self.view endEditing:YES];
单击返回按钮时,使用以下代码段关闭/隐藏键盘。
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
{
[searchBar resignFirstResponder];
return NO;
}
return YES;
}
对于 swift 1.2,当您单击完成时,键盘将隐藏,并且还有另一个取消功能,但使用它并不好,因为当用户单击取消时,他可能想要搜索另一个单词...
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
它会工作 -
目标 c -
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[searchBar resignFirstResponder];
}
斯威夫特 -
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}