各种情况下收起键盘。

2017-04-18  本文已影响20人  螃蟹六步郎

UITapGestureRecognizer *tableViewGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(commentTableViewTouchInSide)];

tableViewGesture.numberOfTapsRequired = 1;

tableViewGesture.cancelsTouchesInView = NO;

[commentTableView addGestureRecognizer:tableViewGesture];

- (void)commentTableViewTouchInSide{

[messageTextField resignFirstResponder];

}


1、用的比较多的方法:点击背景View收起键盘或者直接使用也可以(你的View必须是继承于UIControl)

[self.view endEditing:YES];

2、万能方法:在任何地方都可以使用这种方法来关闭/收起键盘

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

3、点击Return按扭时收起键盘

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

return [textField resignFirstResponder];

}

4. 直接发送 resignFirstResponder 消息

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

使用场景:

能获取到 UITextField 对象时,最好使用 [obj resignFirstResponder] 方法;

有很多个 UITextField 对象,也可获取到 viewController 的 view 时,可以使用 [[[UIApplication sharedApplication] keyWindow] endEditing:YES] 方法;

如果当前 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];

}

上一篇 下一篇

猜你喜欢

热点阅读