IOS实现拥护触摸就隐藏键盘操作

1.主要实现UIResponder类的两个方法:

   (1) - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

   (2) - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

正对拥护触摸屏幕的前后。

     controller 控件一般继承语UIViewController,继承与UIResponder,因此程序的UIViewController可以使用这两个方法:

第一步。定义一个键盘隐藏的函数

            

1 - (void)hidenKeyboard:(id)sender
2 {
3       [sender resignFirstResponder];
4 }
View Code

第二步。给UIView类添加查找当前Responder的Category

 1 @interface UIView(Responder)
 2 @end
 3 @implementation UIView(Responder)
 4 - (UIView*)findFirstView
 5 {
 6     if ([self isFirstResponder]) {
 7         return  self;
 8     }
 9     for (UIView* subVIew in self.subviews) {
10         UIView* responder = [subVIew findFirstView];
11         if (responder!=nil) {
12             return responder;
13         }
14     }
15     return nil;
16 }
17 
18 @end
View Code

第三步。实现方法touchsBegan:withEvent:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    id sender = [self.view findFirstView];
    [self hideKeyboard:sender];
}
View Code

原文出自:Source

posted @ 2013-11-27 14:29  optt  阅读(325)  评论(0编辑  收藏  举报