当我点击搜索或取消时,键盘会隐藏。
但是当我在屏幕上的其他地方点击时,我也希望键盘隐藏。
我找到了几个针对文本字段的教程,但我们正在使用搜索栏。
有人能告诉我如何做到这一点吗?
谢谢。
试一下
在你的.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
}
但是您可能需要检查您正在触摸的位置,因为如果您正在触摸文本输入框或搜索框,则不希望隐藏键盘。
UITapGestureRecognizer
来隐藏键盘。- (void)viewDidLoad {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
}
- (void) dismissKeyboard {
[self.view endEditing:YES];
}
尝试使用这个
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}