各种情况下收起键盘。

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];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,556评论 1 14
  • 当我们在可输入信息的控件上结束输入时,可隐藏键盘以下两句代码: 1 [self.onetf resignFirst...
    盈盈一水不得语阅读 841评论 0 3
  • 今天下班后,打算去买花花还有蛋糕吃,因为今天冷冷的,所以想吃点甜的。 可是今天花花太漂亮了,这束紫阳花很好看,有点...
    WoodSage阅读 348评论 2 1
  • 那晚风轻云淡, 月儿不是很弯。 两个都很自然, 是谁抹杀了浪漫? 那天满头大汗 我输得那么惨 你还是一样的笑脸 是...
    释浪阅读 313评论 0 0
  • 近段时间,翻看杂志,书籍,一遇喜爱的全都藏在便签里,今天稍微收拾,与你分享――关于爱情。 问:为什么找男朋友那么难...
    伱bu曾出现阅读 238评论 0 0