单击搜索或单击取消时键盘隐藏。 但是我也希望当我点击屏幕上的某个地方时键盘会隐藏。 我找到了几个文本教程,但我们正在使用搜索栏。
有人可以告诉我该怎么做吗?
感谢。
答案 0 :(得分:29)
试试这个
你的.h文件中的添加UISearchBar
@property (strong, nonatomic) IBOutlet UISearchBar *searchBar;
你的.m文件中的
- (void)viewDidLoad
{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
}
- (void) dismissKeyboard
{
// add self
[self.searchBar resignFirstResponder];
}
答案 1 :(得分:1)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[yourTextField1 resignFirstResponder];
[yourTextField2 resignFirstResponder];
[yourTextField3 resignFirstResponder];
[yourSearchBar resignFirstResponder];
//etc
}
但是,如果您在文本输入或搜索框上进行触摸,可能需要检查触摸的位置,因为您不想隐藏键盘。
答案 2 :(得分:0)
尝试使用此
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
答案 3 :(得分:0)
您可以添加UITapGestureRecognizer
来关闭键盘。
- (void)viewDidLoad {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
}
- (void) dismissKeyboard {
[self.view endEditing:YES];
}