UIView 上有多个UITextfield 快捷隐藏键盘 的3中方法

http://www.coneboy.com/?p=1180


1.遍历取消
当前视图上有多个uitextfield时,来隐藏键盘, 先遍历视图的所有子视图来 如果是UITextField就将其设为非第一响应 当然,如果要隐藏子视图上的UITextField的话可以进一步判断view的subviews的个数,如果大于1则遍历view的子视图,然后作类似操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-  ( BOOL )textFieldShouldBeginEditing : (UITextField  * )textField
{
    UITapGestureRecognizer  *tapGestureRecognizer  =  [ [UITapGestureRecognizer alloc ] initWithTarget :self action : @selector (done : ) ];
    tapGestureRecognizer.numberOfTapsRequired  =  1;
     [self.view addGestureRecognizer : tapGestureRecognizer ];    //只需要点击非文字输入区域就会响应hideKeyBoard
     [tapGestureRecognizer release ];
     return  YES;
}
 
- ( void )done : ( id )sender
{
     for  (UIView  *view  in self.view.subviews )  {
         if  ( [view isKindOfClass : [UITextField class ] ] )  {
             [view resignFirstResponder ];
         }
     }
}

2.不需要遍历

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

3.UIView 取消相应

1
[self.view endEditing : NO ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值