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



当我单击搜索或单击取消时,键盘隐藏。但我还希望当我点击屏幕上的某个地方时,键盘能隐藏起来。我找到了几个关于文本框的教程,但我们使用的是搜索栏。

谁能告诉我怎么做这个?

谢谢。

Try This

在你的。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];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
   [yourTextField1 resignFirstResponder];
   [yourTextField2 resignFirstResponder];
   [yourTextField3 resignFirstResponder];
   [yourSearchBar resignFirstResponder];
   //etc
}

但是你可能需要检查你触摸的位置,因为如果你触摸文本输入或搜索框,你不想隐藏键盘

尝试使用这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
  [self.view endEditing:YES];
}

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

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

最新更新