UITapGestureRecognizer *tableViewGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(commentTableViewTouchInSide)];
tableViewGesture.numberOfTapsRequired = 1;
tableViewGesture.cancelsTouchesInView = NO;
[commentTableView addGestureRecognizer:tableViewGesture];
- (void)commentTableViewTouchInSide{
[messageTextField resignFirstResponder];
}
1发乔、用的比較多的方法:點(diǎn)擊背景View收起鍵盤或者直接使用也可以(你的View必須是繼承于UIControl)
[self.view endEditing:YES];
2、萬能方法:在任何地方都可以使用這種方法來關(guān)閉/收起鍵盤
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
3珊楼、點(diǎn)擊Return按扭時(shí)收起鍵盤
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
return [textField resignFirstResponder];
}
4. 直接發(fā)送 resignFirstResponder 消息
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
使用場景:
能獲取到 UITextField 對象時(shí)挽牢,最好使用 [obj resignFirstResponder] 方法;
有很多個(gè) UITextField 對象,也可獲取到 viewController 的 view 時(shí)彤悔,可以使用 [[[UIApplication sharedApplication] keyWindow] endEditing:YES] 方法;
如果當(dāng)前 ViewController比較難獲取嘉抓,可以使用第2種或第4種方法索守。
5.觸摸UITableView收起鍵盤晕窑,一般聊天會涉及到
UITapGestureRecognizer *tableViewGesture = [[UITapGestureRecognizer alloc] initWithTarget:sel
f action:@selector(commentTableViewTouchInSide)];
tableViewGesture.numberOfTapsRequired = 1;
tableViewGesture.cancelsTouchesInView = NO;
[commentTableView addGestureRecognizer:tableViewGesture];
- (void)commentTableViewTouchInSide{
[messageTextField resignFirstResponder];
}