8

当我单击搜索或单击取消时,键盘会隐藏。但是我还希望当我单击屏幕上的某个位置时键盘会隐藏起来。我找到了几个文本字段的教程,但我们使用的是搜索栏。

有人可以告诉我该怎么做吗?

谢谢。

4

4 回答 4

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];
}
于 2013-06-06T08:21:24.463 回答
1
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
   [yourTextField1 resignFirstResponder];
   [yourTextField2 resignFirstResponder];
   [yourTextField3 resignFirstResponder];
   [yourSearchBar resignFirstResponder];
   //etc
}

但可能您需要检查您在哪里触摸,因为如果您触摸文本输入或搜索框,您不想隐藏键盘。

于 2013-06-06T08:02:17.097 回答
0

尝试使用这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
  [self.view endEditing:YES];
}
于 2013-06-06T08:18:54.797 回答
0

您可以添加一个UITapGestureRecognizer来关闭您的键盘。

- (void)viewDidLoad {
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self
                                   action:@selector(dismissKeyboard)];
    [self.view addGestureRecognizer:tap];
}

- (void) dismissKeyboard {
     [self.view endEditing:YES];
}
于 2016-05-11T18:49:15.977 回答