iOS让键盘消失的技巧

本文介绍了一种在iOS应用中实现点击背景区域时隐藏UITextField或UITextView键盘的实用方法。通过将UIView转换为UIControl并利用upinside事件,可以递归地查找所有子视图中的UITextField或UITextView并使其失去焦点,从而实现键盘的自动收起。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:http://blog.youkuaiyun.com/favormm/article/details/7492692

焦点在UITextField或UITextView中的时候,键盘会出现,想点一下背景就让键盘消失。这是在手持设备上服合用户的操作习惯。当然方法有很多,在这儿我说一个比较实用的方法。


因为UIView默认是不能关联方法调用的,而UIControl则不一样,它可以关联很多方法。而UIControl是UIView的子类,它有UIView的所有特性,于是我们可以把我们的UIView修改为UIControl类,这样再给它关联一个事件,一般就是up in side,这样在这个关联的事件里我们dismiss所有的UITextField或UITextView.


这儿有一个递归找view上所有的UiTextField或UITextView,并dismiss的主法:

  1. - (void)resignKeyBoardInView:(UIView *)view 
  2.     for (UIView *v in view.subviews) { 
  3.         if ([v.subviews count] > 0) { 
  4.             [self resignKeyBoardInView:v]; 
  5.         } 
  6.          
  7.         if ([v isKindOfClass:[UITextView class]] || [v isKindOfClass:[UITextField class]]) { 
  8.             [v resignFirstResponder]; 
  9.         } 
  10.     } 


这个方法是不是很实用呀?实用就顶一个!你们的支持是我无限的动力。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值