触摸屏幕时如何隐藏键盘(搜索栏)

时间:2013-06-06 07:53:01

标签: ios keyboard hide searchbar

单击搜索或单击取消时键盘隐藏。 但是我也希望当我点击屏幕上的某个地方时键盘会隐藏。 我找到了几个文本教程,但我们正在使用搜索栏。

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

感谢。

4 个答案:

答案 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];
}