How to hide the keyboard when touching screen (search bar)

前端 未结 4 1505
执笔经年
执笔经年 2020-12-30 11:45

The keyboard hides when I click search or when I click on cancel. But I want also that the keyboard hides when I click somewhere on the screen. I found several tutorials for

相关标签:
4条回答
  • 2020-12-30 11:53

    Try to use this one

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
    {
      [self.view endEditing:YES];
    }
    
    0 讨论(0)
  • 2020-12-30 11:56

    You could add a UITapGestureRecognizer to dismiss your keyboard.

    - (void)viewDidLoad {
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(dismissKeyboard)];
        [self.view addGestureRecognizer:tap];
    }
    
    - (void) dismissKeyboard {
         [self.view endEditing:YES];
    }
    
    0 讨论(0)
  • 2020-12-30 12:05

    Try This

    in your .h file add UISearchBar

    @property (strong, nonatomic) IBOutlet UISearchBar *searchBar; 
    

    in your .m file

    - (void)viewDidLoad
    {
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(dismissKeyboard)];
    
        [self.view addGestureRecognizer:tap];
    }
    
    
    - (void) dismissKeyboard
    {
        // add self
        [self.searchBar resignFirstResponder];
    }
    
    0 讨论(0)
  • 2020-12-30 12:05
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
       [yourTextField1 resignFirstResponder];
       [yourTextField2 resignFirstResponder];
       [yourTextField3 resignFirstResponder];
       [yourSearchBar resignFirstResponder];
       //etc
    }
    

    But probably you need to check where are you touching at since you don't want to hide the keyboard if you're touching on a text input or search box.

    0 讨论(0)
提交回复
热议问题