使用UITouch隐藏UITextField/UITextView输入键盘的方法-iOS开发

很多朋友一直为如何实现点击UITextField控件之外便隐藏键盘的问题烦恼,
之前自己一直用的方法是把一个透明的,与当前view大小相同的按钮放在最底层,再捕获它的消息,进行resignFirstResponder操作,之后每个界面都这么做,非常繁琐。今天学习UITouch时发现一个一劳永逸的方法,将下面的代码放入相应的UIViewController实现代码中,便可以实现UITextField/UITextView在点击控件外的情况下隐藏掉输入键盘。
  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
  2.     UITouch *touch = [touches anyObject];
  3. //判断所点击view是否是UITextField或UITextView
  4.     if (![[touch view] isKindOfClass:[UITextField class]] && ![[touch view] isKindOfClass:[UITextView class]]) {
  5.         for (UIView* view in self.view.subviews) {
  6.             if ([view isKindOfClass:[UITextField class]]) {
  7.                 [view resignFirstResponder];
  8.             }
  9.         }
  10.     }
  11. }
复制代码

如果还需要实现点“换行”或"Return"返回,只需要将Did End On Exit事件链接至类定义中,构建事件处理方法,便能实现点击“换行”事件的捕获。


转载自 http://www.findhunter.cn/ios/5514.html


非常好用 的确解决问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值